2017-08-18 6 views
-2

私は、MainActivityのレイアウト内のボタンを押してブール値を画面に表示される2つの部分に伝播するコールバックを実装しようとしています。私はそれらの2つの断片がそのメッセージを受け取ったときに背景の色を変えることを望みます。フラグメントをMainActivityにリッスンする方法は?

これはどのように行われますか?

答えて

1
class DemoActivity extends Activity{ 
private boolean someBoolean; 
private Fragment frag1,frag2; // init them and begin transaction 

    btnclick.setonClickListener{ 
     @Override 
     public void onClick(View v){ 
     frag1.changeColor(someBooean); 
     frag2.changeColor(someBoolean); 
    } 
} 

class Frag1 extends Fragment{ 

    public void changeColor(boolean someVal){ 
    getRootView().setBackgroundColor(someVal ? R.color.colo_one:R.color.color_two); 
    } 
} 


class Frag2 extends Fragment{ 

    public void changeColor(boolean someVal){ 
    getRootView().setBackgroundColor(someVal ? R.color.colo_one:R.color.color_two); 
    } 
} 
関連する問題