Android Recevoir un événement


Exemple

Pour recevoir un événement, il est nécessaire d'implémenter une méthode avec le type d'événement en tant que paramètre et de l'annoter à l'aide de @Subscribe . De plus, vous devez enregistrer / désenregistrer l'instance de votre objet sur le BusProvider (voir exemple Envoi d'un événement ):

public class MyFragment extends Fragment {
    private final static String TAG = "MyFragment";

    ...

    @Override
    public void onResume() {
        super.onResume();
        BusProvider.getInstance().register(this);
    }

    @Override
    public void onPause() {
        super.onPause();
        BusProvider.getInstance().unregister(this);
    }

    @Subscribe
    public void onDatabaseContentChanged(DatabaseContentChangedEvent event) {
        Log.i(TAG, "onDatabaseContentChanged: "+event.message);
    }
}

Important: pour recevoir cet événement, une instance de la classe doit exister. Ce n'est généralement pas le cas lorsque vous souhaitez envoyer un résultat d'une activité à une autre. Donc, vérifiez votre cas d'utilisation pour le bus d'événements.