I have created one Activity (DemoActivity.java) with 2 Fragments (FragmentOne.java and FragmentTwo.java).
I registered the EventBus
in the Activity like thisEventBus.getDefault().register(this);
and created one Suscriber method in the Activity:
@Subscriber
public void abc(String str) {
Log.i(TAG,"MainActivity Called !!");
}
Then I post an event from FragmentTwo.java on button click EventBus.getDefault().post("");
This scenario works fine for me. But when I create the same subscriber method in FragmentOne.java it is not working. Why?
From your question there might be two things that are causing the issue:
EventBus
in your FragmentOne
class like you did for your DemoActivity
class.EventBus
in the FragmentOne
class then please check if FragmentOne
fragment class is alive and in state to receive the event while posting the event from FragmentTwo
class.Edit
As seen from comments you have registered your EventBus
as EventBus.getDefault().register(getActivity())
due to this only your Activity will get registered. To register your Fragment
use EventBus.getDefault().register(this)
in your Fragment.onCreate()
method.