我收到此警告,并且我的事件订阅者编写的代码不会始终触发..它非常随机。
有人可以帮我解决这个问题。谢谢。
我有这个发布活动的班级...
EventListAdapter
:
protected void updateDbToHandle(Context context, Cursor cursor) {
//something here....
toggleEvent.setContext(context);
EventBus.getDefault().post(toggleEvent);
}
protected void updateDbToIgnore(Context context, Cursor cursor) {
//something here....
toggleEvent.setContext(context);
EventBus.getDefault().post(toggleEvent);
}
Event class
:
public class ToggleEvent {
private String name;
private Context context;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Context getContext() {
return context;
}
public void setContext(Context context) {
this.context = context;
}
}
和the subscriber
:
public class ToggleEventListener {
public ToggleEventListener() {
super();
EventBus.getDefault().register(this);
}
public void onEvent(ToggleEvent toggleEvent) {
Log.d("toggleEvent", "toggle event triggered in event bus");
Context context = toggleEvent.getContext();
Intent intentForRinger = new Intent(context, RingerToggler.class);
System.out.println("change in calendar is here ");
//calRead.getEventControl(context);
intentForRinger.putExtra("START_TIME", false);
intentForRinger.putExtra("RESCAN", false);
intentForRinger.putExtra("CHANGE", true);
intentForRinger.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startService(intentForRinger);
EventBus.getDefault().unregister(this);
}
}
不知道为什么我会收到此警告......
并且每次都不会执行我在toggle事件中编写的代码。
它被错过了,并且调用事件是非常随机的......