7

ListPreference があり、たとえば 5 つのオプションが含まれており、ユーザーが選択したときにこの値の 1 つを SharedPreferences に保存したいと考えています。どうすればいいですか?

ところで。値を SharedPreferences に保存する方法は知っていますが、ユーザーがそれらのいずれかを選択したときにその値を取得する方法がわかりません。

4

3 に答える 3

9
OnPreferenceChangeListener listener = new OnPreferenceChangeListener() {    
    @Override
    public boolean onPreferenceChange(Preference preference, Object newValue) {
        // newValue is the value you choose
        return true;
    }
};

listPreference.setOnPreferenceChangeListener(listener);
于 2012-03-20T18:06:41.760 に答える
5

私はこのように私のものにアクセスします..以下の例を参照してください

私のpreference.xmlファイルでは:

<ListPreference
            android:key="SQS_ENDPOINT"
            android:dialogTitle="Choose an option please"
            android:entries="@array/sqsItems"
            android:entryValues="@array/sqsValues"
            android:title="SQS Endpoints" >
        </ListPreference>

私のString.xml:

<string-array name="sqsItems">
        <item>US East (N. Virginia)</item>
        <item>Asia Pacific (Singapore)</item>
        <item>Asia Pacific (Tokyo)</item>
    </string-array>
    <string-array name="sqsValues">
        <item>sqs.us-east-1.amazonaws.com</item>
        <item>sqs.ap-southeast-1.amazonaws.com</item>
        <item>sqs.ap-northeast-1.amazonaws.com</item>
    </string-array>

そして、私はどこからでもこのように選択された値を取得します:

SharedPreferences pref = PreferenceManager
                .getDefaultSharedPreferences(context);
        String END_POINT = pref.getString("SQS_ENDPOINT", "");
于 2016-01-03T00:52:26.733 に答える
2

xml ファイルで、リストに SharedPreferences キーを指定します。

<ListPreference
android:key="SHARED_PREFS_KEY"
...
/>

ユーザーがリストからアイテムを選択するたびに、デフォルトの SharedPreferences に保存されます

于 2012-03-20T19:10:41.107 に答える