ho visto questa discussione: How to implement a listener sui listener dell'attrezzo.android come rendere l'ascoltatore una variabile personalizzata?
è in realtà piuttosto semplice, ma non capisco esattamente come è fatto e come implementarlo nel mio codice.
Ho questa variabile variabile statica: AppLoader.isInternetOn. Voglio costruire un listener che ascolterà questa variabile e aggiorna un TextView.
dovrei fare questo:?
costruire un'interfaccia:
public interface InternetStateListener {
public void onStateChange();
}
corsa nella mia attività:
public class MyActivity extends Activity {
private InternetStateListener mListener;
setTheListener(this);
public void setTheListener(InternetStateListener listen) {
mListener = listen;
}
private void onStateChange() {
if (mListener != null) {
if (AppLoader.isInternetOn)
text.setText("on")
else
text.setText("off")
}
}
}
ohhhh penso che ora abbia realizzato l'architettura! grazie molto! –
Grazie per questo. Spiegazione molto buona e chiara – Kristopher
Quindi, per qualsiasi classe che eredita l'interfaccia, verrà notificata con 'onStateChange()' quando 'mListener.onStateChange (booleano)' viene chiamato direttamente dall'interfaccia? Quindi è come se l'interfaccia comunichi con le classi che ereditano i sub ogni volta che una variabile cambia nell'interfaccia principale dopo aver completato un'attività che cambia la variabile, giusto? Grazie :) –