Inizio a imparare RxJava e mi piace così tanto. Ho un frammento che comunica con un'attività sul clic del pulsante (per sostituire il frammento corrente con un nuovo frammento). Google consiglia interface affinché i frammenti comunichino fino all'attività ma è troppo prolisso, ho provato a utilizzare il ricevitore broadcast che funziona in generale ma ha degli svantaggi.RxJava come bus eventi?
Dal momento che sto imparando RxJava mi chiedo se sia una buona opzione per comunicare dai frammenti alle attività (o frammentare in frammento) ?. In tal caso, qual è il modo migliore per utilizzare RxJava per questo tipo di comunicazione ?. Devo creare un bus eventi come questo one e se questo è il caso dovrei creare una singola istanza del bus e usarla globalmente (con i soggetti)?
1. Il tuo esempio sarebbe meglio con un "BehaviorSubject" per rendere l'osservazione "appiccicosa". Ad esempio, le nuove iscrizioni vedranno l'ultimo valore. Probabilmente lo vorrai, in quanto le nuove viste che dipendono dal valore si aggiorneranno correttamente al momento dell'iscrizione. 2. 'UsernameModel' fa solo una cosa: avvolge un' PublishSubject' e lo rende un singleton. DI offre singleton! Se stavi usando DI, dovresti semplicemente iniettare direttamente "PublishSubject" o "BehaiorSubject". Se stai usando Dagger, puoi usare '@Named (" username ")' per iniettare 'Subject'. – Andy
implementazione simile [controlla sotto la risposta] (https://stackoverflow.com/a/48300275/4647628) – Aks4125