Список настроек Android, как сохранить индивидуальные настройки - PullRequest
1 голос
/ 07 декабря 2011

У меня есть некоторые настройки списка, но я не знаю, как сохранить отдельные значения из списка. Как мне это сделать? Вот что у меня есть

http://i41.tinypic.com/dh4gvo.png

    Preference customPref = (Preference) findPreference("notificationPref");
    customPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {

        public boolean onPreferenceClick(Preference preference) {

            SharedPreferences customSharedPreference = getSharedPreferences(
                    "notifications", Activity.MODE_PRIVATE);
            SharedPreferences.Editor editor = customSharedPreference
                    .edit();
            editor.putString("notification",
                    "The preference has been clicked");
            editor.commit();
            return true;
        }

    });

мой прослушиватель щелчков по списку предназначен только для основного элемента на странице настроек списка, но не для элементов самого всплывающего окна. Как сохранить выбор, выбранный в самом всплывающем окне?

Ответы [ 2 ]

4 голосов
/ 07 декабря 2011

Это обычно автоматически. На вашем XML-экране предпочтений у вас должно быть что-то вроде этого:

<ListPreference android:title="@string/Title" 
    android:summary="@string/Summary"
    android:key="PreferenceKey"
    android:defaultValue="VALUE_2"
    android:entries="@array/Entries"
    android:entryValues="@array/Values" />

А в вашем strings.xml:

<string name="Value1">Text for value 1</string>
<string name="Value2">Text for value 2</string>
<string name="Value3">Text for value 3</string>

<string-array name="Entries">
            <item>@string/Value1</item>
            <item>@string/Value2</item>
            <item>@string/Value2</item>
</string-array>
<string-array name="Values">
            <item>VALUE_1</item>
            <item>VALUE_2</item>
            <item>VALUE_3</item>
</string-array>

В массиве «Значения» указывается (строка) значение, сохраненное в настройках, а в массиве «Записи» указывается текст элементов, отображаемых для пользователя. Каждый раз, когда пользователь выбирает элемент, его соответствующее значение в массиве «Значения» сохраняется в настройках под указанным ключом (в данном примере «PreferenceKey»).

2 голосов
/ 07 декабря 2011

Вы можете прочитать настройки, как это ...

SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);

String strSavedMem1 = sharedPreferences.getString("key", "Default Value");
...