Ich möchte Eventbus in meine App verwenden. für hinzufügen, dass ich EventBus lib meine gradle.then habe ich eine Klasse wie folgt erstellt:Abonnent wird keine Nachricht von eventBus
public class UserEvent {
private User eUser; // esup user model
private String domain;
private String securitySrv;
private Cookie cookie;
private int totalUsersSecurity;
private ExecutorService executorService;
// constructor and getter
dann in dem Haupt Fragment habe ich diese Zeilen hinzugefügt und schließlich habe ich meine Nachricht geschrieben:
UserEvent userEvent = new UserEvent(eUser, domain, securitySrv, cookie,
totalUsersSecurity, executorService);
EventBus.getDefault().post(userEvent);
in Hauptfragment habe ich ViewPager, dass dieser Pager ein anderes Fragment namens AllUsersFragment geladen hat.
In AllUsersFragment ersten habe ich registriert EventBus:
EventBus bus = EventBus.getDefault();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_layout, container, false);
bus.register(this);
return rootView;
}
und dann schrieb ich diese Methode:
@Subscribe
public void onEvent(UserEvent event) {
securitySrv = event.getSecuritySrv();
cookie = event.getCookie();
totalUsersSecurity = event.getTotalUsersSecurity();
executorService = event.getExecutorService();
}
in meinen Lebenslauf Methode mag ich UserEvent
von EventBus durch den Konstruktor in einer anderen Klasse zu übergeben :
@Override
public void onResume() {
super.onResume();
paginator = new Paginator(getContext(),totalUsersSecurity,executorService);
}
aber totalUsersSecurity und executorServ Eis sind null? während diese Variablen im Hauptfragment gefüllt wurden.in Debug-Mod bei Android Studio wird diese public void onEvent(UserEvent event)
nicht nie aufgerufen. danke für die hilfe?
Ich bin mit Android Studio 3 mit gradle:3.0.0'
Ich habe bei onCreateView registriert() –