AndroidStudio 3.1.2,Gradle 4.5,
在我的implementation 'org.greenrobot:eventbus:3.0.0'
中:
public class MainActivity extends AppCompatActivity {
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
@Subscribe
public void onNotLoginEvent(NotLoginEvent notLoginEvent) {
// do smth.
}
这是我的MainActivity:
public class BrandDetailsActivity extends AppCompatActivity
{
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
@Subscribe
public void onChangeNetworkRequestState(NetworkRequestStateEvent networkRequestStateEvent) {
}
@OnClick(R.id.myLoyaltyContainer)
public void onClickMyLoyaltyContainer() {
EventBus.getDefault().post(new NotLoginEvent());
}
}
}
活动MainActivity要做:
注册EventBus,因为它需要接收 NotLoginEvent
当触发 NotLoginEvent 时,必须调用方法 onNotLoginEvent 。
这是另一项活动 BrandDetailsActivity :
EventBus
注册NetworkRequestStateEvent
,因为它需要接收NetworkRequestStateEvent
当发生火灾onChangeNetworkRequestState
时,方法NotLoginEvent
被成功调用。
发送事件MainActivity
但是NotLoginEvent
未收到事件onNotLoginEvent
,因此未调用方法 D/EventBus: No subscribers registered for event myporject.event.NotLoginEvent
D/EventBus: No subscribers registered for event class org.greenrobot.eventbus.NoSubscriberEvent
。
在logcat中,我收到消息:
BrandDetailsActivity
如果在@Subscribe
public void test(NotLoginEvent notLoginEvent) {
}
上,我创建方法 test :
NotLoginEvent
onNotLoginEvent()
着火时成功呼叫。
但是当发生火灾事件MainActivity
时,我需要在NotLoginEvent
中调用方法CN=John Mayor,OU=Users,OU=NA,OU=Local,DC=domain,DC=application,DC=com
。
我该怎么做?