Ich habe diesen Thread gesehen: How to implement a listener über implementieren Listener.android Wie man Listener zu einer benutzerdefinierten Variable machen?
es ist eigentlich ziemlich einfach, aber ich verstehe nicht, wie genau es getan und wie in meinem eigenen Code zu implementieren.
Ich habe diese statische Variable: AppLoader.isInternetOn. Ich möchte einen Listener erstellen, der auf diese Variablenänderungen hört und ein TextView aktualisiert.
sollte ich das tun:?
bauen eine Schnittstelle:
public interface InternetStateListener {
public void onStateChange();
}
laufen sie in meiner Tätigkeit:
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 ich denke, dass jetzt die Architektur realisierte! Danke vielmals! –
Vielen Dank dafür. Sehr gute und klare Erklärung. – Kristopher
Also für alle Klassen, die die Schnittstelle erben, werden sie mit 'onStateChange()' benachrichtigt, wenn 'mlistener.onStateChange (boolean)' direkt von der Schnittstelle aufgerufen wird? Es ist also so, dass die Schnittstelle mit jeder untergeordneten vererbenden Klasse kommuniziert, wenn sich eine Variable in der Hauptschnittstelle nach dem Abschluss einer Aufgabe ändert, die die Variable ändert, richtig? Danke :) –