PreferencesActivity
, onay kutularını içeren bir preferences.xml
gösterir. Android Tercihler anahtarlarından tercihler.xml
preferences.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Keywords">
<CheckBoxPreference android:key="Essen"
android:title="Essen"
android:selectable="true"
android:enabled="true"
android:persistent="false">
</CheckBoxPreference>
<CheckBoxPreference android:key="Kleidung"
android:title="Kleidung"
android:selectable="true"
android:enabled="true"
android:persistent="false">
</CheckBoxPreference>
</PreferenceCategory>
</PreferenceScreen>
PreferencesActivity:
public class PreferencesViewController extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
Şimdi farklı bir
ListActivity
yılında tüm Keys göstermek istiyorum/işaretlenmiş onay kutularına gelen Başlıklar.
Ben
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
veya
SharedPreferences prefs = getSharedPreferences("mypackage_preferences", 0);
ile Tercihler erişmeye çalıştığınızda Ama her ikisi gerçekten işe Yüklü. Ben prefs.getAll().size()
çağırdığınızda
sonuç 0.
Ben getPreferenceScreen().getPreference(i).…
ile Tuşlar/Başlık erişebilir ama sadece PreferenceActivity
den farklı bir Activity
gelen çalışmaz.
Bu çalışmanın nasıl yapıldığına dair bir çözümü olan var mı?
http://developer.android.com/guide/topics/ui/settings.html "Varsayılan Değerlerini Ayarlama" paragrafında bulunabilir. – liquid
Sorun şu ki, bu tercihleri Internet/Server'dan güncellemek istiyorum. Bu yüzden her onay kutusunun anahtarlarını bilmiyorum. Bu yüzden Tercihler bir Etkinlik/Görünümde gösterilmelidir, Kullanıcı bunları kontrol edebilir/işaretini kaldırabilir. Kontrol edilen tercihleri okumalı ve tercihler bir sunucu tarafından güncellenmelidir… Belki PreferenceActivity doğru çözüm değil mi ?! : -/ – liquid