发送消息
EventBus.getDefault().post(new AnyEventType3(homeDragAdapter.list.get(position).getEnglish_name()));
那个界面接收消息就需要 注册EventBus,在退出的时候注销EventBus eventBus = EventBus.getDefault(); eventBus .register(this);
然后重写 onEvent的几个方法进行接收 具体那个方法 根据自己的需求重写
如果在Activity退出的时候不注销的话 这个事件会一只发送 如果在activity退出后不用的时候一定要 注销掉
eventBus.unregister(this); 注销
eventBus报错
报错信息
FATAL EXCEPTION: main Process: com.xuanr.znjj_app, PID: 28264 org.greenrobot.eventbus.EventBusException: Subscriber class com.xx.xxx.popwindow.PopWindowVideoList and its super classes have no public methods with the @Subscribe annotation
是因为你在这个类里边注册了EventBus但是却没有重写onEvent的接收方法
解决方法
只要在这个类里边进行了注册eventBus那么就必须重写 他的接收方法
我这里只是随便重写了eventBus的 四个接收方法中的一个
@Subscribe
public void onEventBackgroundThread(Msg msg) {}
更新:
一个类里边可以有多个onEventBackgroundThread 方法的使用
// 接收方法可以重复, 但是接收方法中的 参数不能一样,如果一样就会报错比如这样,这样是合法的,因为 参数是不一样的
@Subscribe
public void onEventBackgroundThread(Msg msg) {}
@Subscribe
public void onEventBackgroundThread(Data data) {}