मैं यह कैसे करना है इसके बारे में एक KISS उदाहरण खोज रहा हूं, और जब वे सभी लगते हैं (और मैं उन सभी के माध्यम से चला गया हूं!) काफी सरल है, मैं अभी भी अपना सिर नहीं ले सकता संकल्पना। मैं कस्टम श्रोताओं का जिक्र कर रहा हूं (जो कुछ भी विस्तार नहीं करते हैं) ... विशेष रूप से, एक बुलियन वैरिएबल के लिए श्रोता बनाना जिससे कि जब कुछ मूल्य बदल जाए तो मैं कुछ तरीकों को बंद कर सकता हूं।एंड्रॉइड: परिवर्तनीय परिवर्तनों के लिए सुनना
इस एक उदाहरण की एक उदाहरण मैं कोशिश की है है: android how to make listener to a custom variable?
किसी समय एक कस्टम श्रोता व्याख्या करने के लिए है और यह कैसे सादे अंग्रेजी में काम करता है, कि बहुत सराहना की जाएगी है। मैं उम्मीद कर रहा हूं कि एक बार जब मैं समझता हूं कि श्रोता को परिवर्तन की अधिसूचना कैसे दी जाती है, तो मैं अपना खुद का निर्माण कर सकता हूं और समझ सकता हूं कि लापरवाही कैसे काम करती है। यह मैं पहले से सिर में दर्द दे रहा है ... धन्यवाद
वह स्थान है जहां मैं इस समय में हूँ:
public class Main extends Activity implements ChangeListener.listener{
private ChangeListener listener;
private boolean boo = false;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listener = new ChangeListener(boo);
listener.setChangeListener(this);
listener.somethingChanged();
}
@Override
public void onChange(boolean b) {
// TODO Auto-generated method stub
Toast.makeText(this, "REST = "+b, Toast.LENGTH_SHORT).show();
}
}
:
public class ChangeListener {
boolean boo = false;
public ChangeListener(boolean b){
boo = b;
}
private listener l = null;
public interface listener{
public void onChange(boolean b);
}
public void setChangeListener(listener mListener){
l = mListener;
}
public void somethingChanged(){
if(l != null){
l.onChange(boo);
}
}
}
यह मेरा मुख्य गतिविधि का एक स्नैपशॉट है अब, जब गतिविधि शुरू होती है, टोस्ट बू की स्थिति प्रदर्शित करता है ... बढ़िया। समस्या यह है कि केवल क्रिएट के भीतर ही होता है, जो समझ में आता है। कुछ चीजें वहां रखी जाती हैं। मैं चाहता हूं कि टोस्ट को हर बार झूठ से सच्चाई में बदल दिया जाए, और झूठ बोलने के लिए सच है, भले ही यह क्रेट या नहीं हो। अर्थात्:
- एक बटन पर क्लिक करें
- कारणों को असत्य से सत्य
- श्रोता को बदलने के लिए बू परिवर्तन पर ऊपर उठाता है और चलाता है जो कुछ onChange
में है मैं जानता हूँ कि मैं सिर्फ इस्तेमाल कर सकते हैं बटन एक्शन लिस्टनर ऐसा करने के लिए, लेकिन यदि संभव हो तो मैं इससे दूर रहना चाहूंगा, जिस समय मैं सोचना शुरू कर रहा हूं असंभव है।
किसी भी अंतर्दृष्टि की सराहना की जाएगी। अग्रिम में धन्यवाद!
मैं मूल्य और सेटऑफ अन्य विधियों को बदलने के लिए सरल सेटएक्स/गेटएक्स विधियों का उपयोग करने पर विचार कर रहा हूं।यह शायद पर्याप्त होगा लेकिन मुझे अभी भी लगता है कि जावा में ऐसा करने के लिए मेरे मूल अनुरोध का बहुत मूल्य है। टिप्पणियां/समाधान अभी भी सराहना की। धन्यवाद – user1977217