2010-04-13 11 views
13

अपडेट नहीं करती है, मैं एक साधारण ऐप परिदृश्य को समझाने की कोशिश करूंगा: मेरा ऐप 'मुख्य दृश्य' पर सही है। इस मुख्य दृश्य में मैंने TextView डाला है जो PreferenceManager के माध्यम से बनाई गई वर्तमान सेटिंग्स प्रदर्शित करता है। सादगी के लिए, मान लें कि मेरे पास मेरी सेटिंग्स में एक चेकबॉक्स है। जब मैं पहली बार अपना ऐप शुरू करता हूं - मेरे मुख्य दृश्य पर TextView मेरी चेकबॉक्स सेटिंग सही ढंग से (सत्य) दिखाता है। अब मैं सेटिंग्स मेनू पर जाता हूं, यह पॉप-अप होता है, और फिर मैं इसे गलत में बदल देता हूं। मैं मुख्य दृश्य पर वापस जाता हूं और कोई बदलाव नहीं देखता हूं। यह अभी भी सच है जब भी मैंने इसे गलत में बदल दिया। यदि मैं ऐप समाप्त करता हूं और फिर इसे फिर से शुरू करता हूं - सब ठीक है और यह मेरा परिवर्तन दिखाता है।वरीयता बदलने के बाद (एक सेटिंग), पाठ दिखाने वाली सेटिंग्स

स्पष्ट रूप से मुख्य दृश्य पृष्ठभूमि में रहता है जबकि मैं सेटिंग्स बदल रहा हूं? सेटिंग्स बदलने के बाद मैं मुख्य दृश्य को फिर से कैसे चला सकता हूं या अपडेट कर सकता हूं?

उत्तर

5

जब आप अपनी प्राथमिकताओं में जाते हैं तो आपकी वर्तमान गतिविधि को रोका जाना चाहिए और जब आप वापस जाएं तो फिर से शुरू किया जाए (lifecycle diagram on the android site पर जीवन चक्र चित्र देखें)। आपको लगता है कि रेज़्यूम() के अंदर से किसी प्रकार का रेड्रो ट्रिगर करने में सक्षम होना चाहिए। इससे पृष्ठ पर डेटा को दोबारा स्थापित करने की अनुमति मिल जाएगी। कुछ प्रकार की अमान्य() कॉल मुझे लगता है।

+0

आपकी मदद के लिए धन्यवाद, मैं इस में अब देखने के लिए शुरू हो जाएगा - मैं सराहना अपने पहर! – Allan

+0

मैं एक नौसिखिया हूं इसलिए मुझे उम्मीद है कि यह मेरे लिए बहुत मुश्किल नहीं है - (मैं दूसरों से भी अधिक सहायता और उदाहरण लेता हूं) – Allan

22

आप अपने मुख्य गतिविधि में OnSharedPreferenceChangeListener को लागू कर सकते हैं:

@Override 
public void onSharedPreferenceChanged(SharedPreferences prefs, String key) { 
    if (PREFKEY_OF_INTEREST.equals(key)) 
     updateSomethingInMainView(); 
} 

और onCreate में() फोन:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
prefs.registerOnSharedPreferenceChangeListener(this); 
+0

मेरी मदद करने के लिए सभी को धन्यवाद। उस रेस्यूम ने चाल की है! – Allan

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^