He visto este hilo: How to implement a listener sobre implementar oyentes.android cómo hacer oyente a una variable personalizada?
es realmente bastante simple, pero no entiendo cómo se hace exactamente y cómo implementarlo en mi propio código.
tengo esta variable variable estática: AppLoader.isInternetOn. Quiero construir un oyente que escuche los cambios de esta variable y actualice un TextView.
debo hacer esto:?
crear una interfaz:
public interface InternetStateListener {
public void onStateChange();
}
ejecutarlo en mi actividad:
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 creo que iv'e ahora se dio cuenta de la arquitectura! ¡muchas gracias! –
Gracias por esto. Muy buena y clara explicación. – Kristopher
Entonces, para cualquier clase que herede la interfaz, se les notificará con 'onStateChange()' cuando 'mListener.onStateChange (boolean)' se invoque directamente desde la interfaz? Entonces, es como si la interfaz se estuviera comunicando con cualquier clase sub heredada cada vez que una variable cambia en la interfaz principal después de completar una tarea que cambia la variable, ¿verdad? Gracias :) –