2010-07-25 11 views
30

मेरे पास प्राथमिकता पृष्ठ है। इसमें 'शो जानकारी स्क्रीन' फ़ील्ड है (चेकबॉक्स के रूप में)।एंड्रॉइड साझा संदर्भ सेट मूल्य

मेरे पास भी जानकारी पृष्ठ है जिसमें चेकबॉक्स 'मुझे फिर से दिखाएं' होना चाहिए।

मुझे समझ में दिया होगा, मैं PreferencesManager.getDefaultPreferences(context) के माध्यम से प्राथमिकताएं पृष्ठ से मूल्य प्राप्त कर सकते हैं ...

लेकिन यह कैसे मैं जानकारी पृष्ठ पर चेकबॉक्स को वरीयता मूल्य सेट करना चाहिए?

मैंने मूल्य निर्धारित करने के लिए context.getSharedPreferences(PREF_NAME, 0).edit() का उपयोग करने का प्रयास किया, लेकिन यह PreferencesManager के संबंधित मान से संबंधित नहीं है।

मुझे क्या करना चाहिए ??? एफ 1

उत्तर

98

यह इस बात पर निर्भर करता है कि क्या आप अपने आवेदन के लिए वरीयताओं के एक सेट के बाद हैं, या प्रति गतिविधि एक सेट है। इस तरह

मैं का उपयोग किया है कोड:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); 
Editor editor = prefs.edit(); 
editor.putBoolean(PREF_NAME, false); 
editor.commit(); 

और

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); 
if (prefs.getBoolean(PREF_NAME, true)) { 
    // etc 
} 
+0

बहुत बहुत शुक्रिया !!! एक महान उत्तर के लिए – davs

+4

+1। मैं जोर देउंगा कि 'संपादक' ** ** ** एक मोडल विज़ुअल संपादक उपयोगकर्ता इंटरैक्शन की प्रतीक्षा नहीं कर रहा है। यह 'SharedPreferences.getString() 'के विपरीत करने का एक परमाणु तरीका है। – ef2011

+0

उपयोग() के बजाय लागू() का उपयोग पृष्ठभूमि में करेगा। –