我有一个活动,它启动一个DialogFragment,在一个事件完成后,DialogFragment在Otto事件总线上发布一个事件,这是在它的父活动中触发一个方法.我在这里发布了相关的代码,相同的代码在我的应用程序的其他地方工作,但这里的事件只是没有解雇.
活动中的代码……
@Subscribe public void OttoUpdateUI(BudgetUpdateObject budgetUpdateObject) { updateUI(); Log.d("budget","Otto updateUI called"); } @Override public void onResume() { super.onResume(); BusStand.getInstance().register(BudgetActivityNew.class); } @Override public void onPause() { super.onPause(); BusStand.getInstance().unregister(BudgetActivityNew.class); }
BusStand班….
public final class BusStand { private static final Bus BUS = new Bus(); public static Bus getInstance() { return BUS; } private void BusProvider() { } }
和射击活动……
BusStand.getInstance().post(new BudgetUpdateObject());
我已经检查了活动中的导入,我没有使用匕首模块,而且我没有使用任何其他事件总线.任何帮助都感激不尽.
这是我从活动中启动DialogFragment的方式….
AddBudgetDialogFragment addBudgetDialogFragment = new AddBudgetDialogFragment(); addBudgetDialogFragment.setStyle(DialogFragment.STYLE_NO_TITLE,0); addBudgetDialogFragment.show(getSupportFragmentManager(),"DialogFragment");