嗨Iam使用事件总线将数据从一个片段传递到另一个片段
从fragment-1我正在做如下
@Override
public void onPause() {
bsValues = new BoreShaftValues(strtext, strtextshaft);
bus.post(bsValues);
super.onPause();
}
在Fragment-2中,我在
OnActivitycreated
中注册了总线@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
bus.register(this);
}
然后我将
OnEvent()
方法放在fragment-2中public void onEvent(BoreShaftValues event){
boregradeselect.setText(event.getBoreData());
shaftgradeselect.setText(event.getShaftData());
}
以下是我的
BoreshaftVales
课public class BoreShaftValues {
private String boredata;
private String shaftdata;
public BoreShaftValues(String boredata, String shaftdata){
this.boredata = boredata;
this.shaftdata = shaftdata;
}
public String getBoreData(){
return boredata;
}
public String getShaftData(){
return shaftdata;
}
}
但是,此
OnEvent()
方法根本没有被调用。我在正确地做吗? 最佳答案
我通常会尝试将EventBus绑定到Activity,但仍使其能够松散耦合。因此,在片段生命周期中,我在onAttach中注册了EventBus,然后在片段中的onDetach方法中注销了它。
关于android - 未调用EventBus OnEvent(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35428887/