Если я правильно понял вашу ситуацию - у вас есть кнопка в одном действии, которая инициирует событие eventBus, и второй подписчик на это событие.
И после нажатия кнопки вы запускаете мастер регистрациив другом действии, но ваша проблема в том, что этот подписанный метод вызывается и для других событий, которые вы не хотите обрабатывать таким образом.Это правильно?
На самом деле, я не вижу смысла использовать eventBus в таком случае.Если вы просто хотите показать Activity B
из Activity A
, когда нажата кнопка, то просто покажите свою активность с помощью экземпляра Intent:
Intent intent = new Intent(this, ActivityB.class)
startActivity(intent)
Я мог бы вас неправильно понять.Можете ли вы добавить более подробную информацию о вашей ситуации?
Если вам нужно использовать eventBus, то, возможно, ваши многочисленные вызовы подписанных событий являются причиной создания события sticky
.Попробуйте то же самое с обычными событиями:
baseDialog_positiveBtn.setOnClickListener(v -> {
EventBus.getDefault().post(new BuyPremiumUserEvent(true));
finish();
});
И обработайте их без липкого флага:
@Subscribe(threadMode = ThreadMode.MAIN)
public void onBuyPremium(final BuyPremiumUserEvent event) {
//...
}