2017-08-18 5 views
-2

J'essaye d'implémenter un rappel dans lequel une pression de bouton dans la disposition de MainActivity propagerait une valeur booléenne à deux fragments visibles sur l'écran. Je voudrais que ces deux fragments changent la couleur de leur fond quand ils reçoivent ce message.Comment faire des fragments écouter MainActivity?

Comment cela serait-il fait?

Répondre

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); 
    } 
}