Mam PreferencesActivity
, który pokazuje preferences.xml
z polami wyboru.Android Uzyskaj klucze od preferences.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);
}
}
Teraz w innym ListActivity
Chcę pokazać wszystkie klucze/Tytuły z zaznaczonych pól wyboru.
próbie uzyskania dostępu do preferencji z
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
lub
SharedPreferences prefs = getSharedPreferences("mypackage_preferences", 0);
Ale zarówno naprawdę nie działa.
Kiedy zadzwonić prefs.getAll().size()
wynik jest 0.
mogę uzyskać dostęp do kluczy/Tytuł z getPreferenceScreen().getPreference(i).…
ale to nie działa z innego Activity
, tylko z PreferenceActivity
.
Czy ktoś ma rozwiązanie, jak uzyskać tę pracę?
Już próbowałem. – liquid
Problem polega na tym, że chcę zaktualizować te preferencje z Internetu/serwera. Więc nie znam kluczy do każdego pola wyboru. Preferencje powinny być pokazane w działaniu/widoku, użytkownik może zaznaczyć/odznaczyć je. Muszę przeczytać sprawdzone preferencje, a preferencje powinny być aktualizowane przez serwer ... może PreferenceActivity nie jest właściwym rozwiązaniem ?! : -/ – liquid