1

リストの設定がいくつかありますが、リストから個々の値を保存する方法がわかりません。どうすればいいのですか?これが私が持っているものです

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;
        }

    });

私のリストクリックリスナーは、リスト設定ページのメインアイテム専用であり、ポップアップ自体のアイテム用ではありません。ポップアップ自体で選択した選択肢を保存するにはどうすればよいですか?

4

2 に答える 2

4

これは通常自動です。設定画面の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>

「Values」配列は設定に保存された(文字列)値を指定し、「Entries」配列はユーザ​​ーに表示されるアイテムのテキストを指定します。ユーザーがアイテムを選択するたびに、「Values」配列の対応する値が、指定されたキー(この例では「PreferenceKey」)の下の設定に保存されます。

于 2011-12-07T17:11:06.453 に答える
2

あなたはこのような好みを読むことができます...

SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);

String strSavedMem1 = sharedPreferences.getString("key", "Default Value");
于 2011-12-07T18:26:29.800 に答える