Ich versuche, die absolute Basisimplementierung von EventBus Library für Android zu implementieren.Simple EventBus - Keine Abonnenten Registriert
Was ich versuche einfach Inhalt von Benutzer in activity 1
eingeben und dann statt Absicht Extras Ich bin Eventbus verwenden, um das gesamte Objekt auf die nächste Aktivität - . Ich verfolge genau die vorgegebenen Richtlinien:
PART 1: POJO
public class StudentEvent {
public final String registrationNumber ;
public final String name ;
public final String course ;
public final String branch ;
public StudentEvent(String registrationNumber, String name, String course, String branch) {
this.registrationNumber = registrationNumber;
this.name = name;
this.course = course;
this.branch = branch;
}
public String getRegistrationNumber() {
return registrationNumber;
}
public String getName() {
return name;
}
public String getCourse() {
return course;
}
public String getBranch() {
return branch;
}
}
PART 2: Subscription in the second activity
EventBus.getDefault().register(this); //onCreate
EventBus.getDefault().unregister(this); //onDestroy
@Subscribe
public void eventReceiver(StudentEvent studentEvent){
tvRegistrationNumber.setText(studentEvent.getRegistrationNumber());
tvName.setText(studentEvent.getName());
tvBranch.setText(studentEvent.getBranch());
tvCourse.setText(studentEvent.getCourse());
}
PART 3: Post the event
StudentEvent studentEventObject = new StudentEvent(
etRegistrationNumber.getText().toString(),
etName.getText().toString(),
etCourse.getText().toString(),
etBranch.getText().toString()) ;
EventBus.getDefault().post(studentEventObject);
ich den Fehler:
D/EventBus: No subscribers registered for event class co.swisdev.abhinav.eventbustesting.StudentEvent
D/EventBus: No subscribers registered for event class org.greenrobot.eventbus.SubscriberExceptionEvent
WAS VERMISSE ICH?
Es funktioniert, wenn ich das Abonnement in der gleichen Klasse machen.
richtige Antwort, braucht aber etwas mehr konkretisiert werden eine große Antwort. Vielleicht möchten Sie auf Activity Lifecycle zeigen und erklären, warum dies nicht die richtige Anwendung eines EventBus ist. – 323go
Was ist die beste Modifikation, die ich dann machen muss? Sollte ich die Absicht machen und dann Veranstaltung zu EventBus buchen? @ 323go –
@AbhinavJordieDas Dies ist nicht die Art der Sache, für die der EventBus normalerweise verwendet wird. Im Allgemeinen wird der EventBus verwendet, um aktualisierte Daten für eine bereits aktive Aktivität oder ein Fragment zu erhalten. Stellen Sie sich den EventBus eher als Wrapper um einen Beobachter/Verbraucher vor. In diesem Beispiel sieht es so aus, als ob Sie damit Daten an eine andere Aktivität übergeben. Ich denke, Sie sind besser dran mit Standard-Mittel, um ein Bündel zu verwenden, oder speichern Sie es in einem Modell und Zugriff auf das Modell in Aktivität 2. –