2016-05-03 6 views
2

私はアクティビティを持っています。 そのアクティビティでは、私は1つのカスタムダイアログを持っています。そのダイアログに1つのボタンがあります。ボタンをクリックすると、私のactivity.howにあるテキストの色を変更したいと思います。 誰でも私を助けてください。 私のコード---カスタムダイアログからの結果をアクティビティに返す

public class Test extends Activity{ 
TextView tv; 
Button b; 
protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.test); 
     tv = (TextView)tv.findViewById(R.id.tv1); 
     button initialization code.. 
     b.setOnclickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
          popup(); 

      } 
    } 
      public void popup(final int position) 
    { 
     final Dialog dialog = new Dialog(Test.this); 
     TextView view 
     dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
     dialog.setContentView(R.layout.popup); 

     view = (TextView) dialog.findViewById(R.id.view1); 
     view .setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
     toast msg... 
       } 

     }); 
} 
+0

''ポップアップ方法は、テキストの色を変更するには、同じクラスにいるのですか? onClickメソッド内の 'tv' –

+0

リスナを使用して、ダイアログからアクティビティにコールバックを送信します[この回答をチェックすることができます](http://stackoverflow.com/questions/36982209/how-to-refresh-a-view-in-mainアダプタからの動作/ 36982464#36982464) – Krishna

+0

はいポップアップメソッドは同じクラスにあります – ananya

答えて

1
public void popup() { 

    final Dialog dialog = new Dialog(this); 
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.setContentView(R.layout.popup); 

    dialog.findViewById(R.id.textView1).setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      // remove dialog 
      dialog.dismiss(); 

      // change color of text 
      ((TextView) findViewById(R.id.change_my_color)).setTextColor(Color.GREEN); 
     } 

    }); 

    dialog.show(); 
} 
+0

ありがとうHitesh。それは私のために働いた。 :) – ananya

関連する問題