Quindi, ho scoperto il modulo Eventbus dei Green Robots. Seguito le istruzioni su questa pagina per cercare di farlo funzionare: http://greenrobot.org/eventbus/documentation/how-to-get-started/L'eventbus di GreenRobot non può visualizzare annotazioni, "nessun metodo pubblico"
Sembra abbastanza semplice.
ho messo nel codice appropriato, ma quando viene eseguito su un dispositivo ottengo un incidente:
org.greenrobot.eventbus.EventBusException: Subscriber class com.crowdlab.activities.LoadingActivity and its super classes have no public methods with the @Subscribe annotation.
Le prime righe del mio sguardo di classe come questo:
public class LoadingActivity extends BaseActivity implements AlertDialogButtonListener {
AlertDialog mDialog = null;
AlertDialog mPushDialog = null;
@Subscribe
public void onMessageEvent(MessageEvent event){
Toast.makeText(this, "From Loading "+event.message, Toast.LENGTH_SHORT).show();
}
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
EventBus.getDefault().unregister(this);
super.onStop();
}
.
.
.
E/sembra/l'annotazione è lì. La compilazione avviene senza neanche un avvertimento. Sto usando la versione 3.0.0 come specificato nel file gradle ...
Quindi cosa potrebbe essere sbagliato? (RTFM ha accettato con gratitudine, basta dire dove si trova l'FM con un articolo pertinente.)
Grazie!
-Ken
Per me è stato a causa di ProGuard. La correzione era qui: http://greenrobot.org/eventbus/documentation/proguard/ – Yani2000