【发布时间】:2016-02-16 09:42:40
【问题描述】:
嗨,我使用事件总线将数据从一个片段传递到另一个片段
从 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() 方法根本没有被调用。我做对了吗?
【问题讨论】:
-
@sasikumar 没有错误。无法 setText() 到我的 Textviews
-
event.getBoreData() 获取值?
-
@sasikumar 无法检查 event.getBoreData() 因为 OnEvent 没有调用。我可以看到 bus.post(bsValues);发帖时有值
-
巴士?是上课吗?代码在哪里
-
@sasikumar 将 EventBus.jar 包含到我的构建路径中并用作私有 EventBus bus = EventBus.getDefault();
标签: android android-fragments event-bus greenrobot-eventbus