Ich fange an, RxJava zu lernen und ich mag es so weit. Ich habe ein Fragment, das mit einer Aktivität auf Knopfdruck kommuniziert (um das aktuelle Fragment durch ein neues Fragment zu ersetzen). Google empfiehlt interface für Fragmente, um mit der Aktivität zu kommunizieren, aber es ist zu ausführlich, ich habe versucht, Broadcast-Empfänger zu verwenden, der allgemein funktioniert, aber es hatte Nachteile.RxJava als Eventbus?
Da ich RxJava lerne, frage ich mich, ob es eine gute Option ist, von Fragmenten zu Aktivitäten (oder von Fragment zu Fragment) zu kommunizieren. Wenn ja, was ist der beste Weg, RxJava für diese Art von Kommunikation zu verwenden ?. Muss ich Eventbus wie diesen machen one und wenn das der Fall ist sollte ich eine einzelne Instanz des Busses machen und global (mit Subjekten) benutzen?
1. Ihr Beispiel wäre besser mit einem "BehaviorSubject", um dieses "sticky" zu beobachten. d. h. neue Abonnements sehen den letzten Wert. Wahrscheinlich möchten Sie, dass neue Ansichten, die von diesem Wert abhängig sind, beim Abonnement korrekt aktualisiert werden. 2. 'UsernameModel' macht nur eine Sache: Wrappt ein' PublishSubject' und macht es zu einem Singleton. DI bietet Singletons an! Wenn Sie DI verwenden, würden Sie direkt das 'PublishSubject' oder' BehaiorSubject' injizieren. Wenn Sie Dolch verwenden, können Sie '@Named (" username ")' verwenden, um das 'Subject' zu injizieren. – Andy
ähnliche Implementierung [Überprüfen Sie unter Antwort] (https://Stackoverflow.com/a/48300275/4647628) – Aks4125