如何使用EventBus 3

时间:2018-01-15 12:26:47

标签: android android-fragments greenrobot-eventbus

我正在使用EventBus 3在片段之间发送数据。我已经使用EventBus.getDefault.post(etc)从Fragment A发送数据并成功接收Fragment B中的数据。

现在,当我尝试在片段C中获取片段A的相同数据时。片段C中没有显示任何内容。没有错误。可能是订户不工作。请指导我如何使用EventBus从片段A到片段B和C获得相同的数据。

由于

1 个答案:

答案 0 :(得分:0)

   you can try this way add dependency inside your build gradle file.

   compile 'org.greenrobot:eventbus:3.1.1'

  in fragment A override methods like this.send data like this call in your 
  method from  where you want to send data.


   EventBus.getDefault().post(new String("Notification"));

   @Override
   public void onStart() {
    super.onStart();
    getFriendFromServer();
    EventBus.getDefault().register(this);
}

@Override
public void onStop() {
    super.onStop();
    EventBus.getDefault().unregister(this);
}


@Subscribe(threadMode = ThreadMode.MAIN)
public void toChangeSearchFocus(String event) {

}
片段B中的

@Override
 public void onStart() {
    super.onStart();
    EventBus.getDefault().register(this);
 }

@Override
public void onStop() {
    super.onStop();
    EventBus.getDefault().unregister(this);
}


@Subscribe(threadMode = ThreadMode.MAIN)
public void toChangeSearchFocus(String event) {
     // here you will get your data.
}