2010-07-25 19 views
30

Tercihler sayfam var. 'Bilgi ekranını göster' alanına (onay kutusu) sahiptir.android sharedpreferences set değeri

Ayrıca 'Bana bir daha göster' onay kutusuna sahip olması gereken bilgi sayfasına da sahibim.

anlıyorum ettik, ben PreferencesManager.getDefaultPreferences(context) yoluyla tercihler sayfasından değeri elde edebilirsiniz ...

Ama bilgi sayfasında onay kutusu için tercihler değeri nasıl?

Değeri ayarlamak için context.getSharedPreferences(PREF_NAME, 0).edit() kullanmayı denedim, ancak PreferencesManager'ın karşılık gelen değeriyle ilişkili değil.

Ne yapmalıyım ?? F1

cevap

98

Uygulamanız için bir tercih kümesi veya etkinlik başına bir set olup olmadığınıza bağlıdır. Böyle

ben kullandım kodu:

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

ve

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

çok teşekkürler !!! Mükemmel bir cevap için – davs

+4

+1. Editör'ün, kullanıcı etkileşimini bekleyen bir modal görsel editörü değil ** olduğunu vurguluyorum. SharedPreferences.getString() 'ın tersini yapmak için atomik bir yoldur. – ef2011

+0

use apply() yerine commit() bunu arka planda yapar. –