У меня есть активность, и она запускает 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");
pause
занимаетесь этим? Если действие приостановлено, событие прибывает до вызоваonResume
- person lgvalle   schedule 23.08.2015