मैंने यह धागा देखा है: श्रोताओं को लागू करने के बारे में How to implement a listener।एंड्रॉइड श्रोता को कस्टम चर में कैसे बनाना है?
यह वास्तव में बहुत ही सरल है, लेकिन मुझे यह नहीं पता कि यह वास्तव में कैसे किया गया और मेरे अपने कोड में कैसे कार्यान्वित किया जाए।
मेरे पास यह स्थैतिक चर वैरिएबल है: AppLoader.isInternetOn। मैं एक श्रोता बनाना चाहता हूं जो इस परिवर्तनीय परिवर्तनों को सुन सके और टेक्स्टव्यू अपडेट करेगा।
क्या मुझे यह करना चाहिए:?
निर्माण एक अंतरफलक:
public interface InternetStateListener {
public void onStateChange();
}
रन यह मेरी गतिविधि में:
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")
}
}
}
ओह, मुझे लगता है कि अब मुझे वास्तुकला का एहसास हुआ है! बहुत धन्यवाद! –
इसके लिए धन्यवाद। बहुत अच्छा और स्पष्ट स्पष्टीकरण। – Kristopher
तो इंटरफ़ेस को विरासत में प्राप्त करने वाले किसी भी वर्ग के लिए, उन्हें 'onStateChange() 'के साथ अधिसूचित किया जाएगा जब' mListener.onStateChange (बूलियन)' को इंटरफ़ेस से सीधे कहा जाता है? तो इंटरफ़ेस की तरह किसी भी उप विरासत वर्गों के साथ संचार कर रहा है जब भी वेरिएबल को बदलने वाले कार्य को पूरा करने के बाद मुख्य इंटरफ़ेस में एक चर बदलता है, है ना? धन्यवाद :) –