我有ListPreference,它包含例如5個選項,我想在用戶選擇時將此值之一保存到SharedPreferences。我該怎麼做?如何從ListPreference中選擇選項?
btw。我知道如何將值保存到SharedPreferences,但我不知道如何在用戶選擇其中一個時獲取該值。
我有ListPreference,它包含例如5個選項,我想在用戶選擇時將此值之一保存到SharedPreferences。我該怎麼做?如何從ListPreference中選擇選項?
btw。我知道如何將值保存到SharedPreferences,但我不知道如何在用戶選擇其中一個時獲取該值。
OnPreferenceChangeListener listener = new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
// newValue is the value you choose
return true;
}
};
listPreference.setOnPreferenceChangeListener(listener);
在您的xml文件中,您爲列表提供了SharedPreferences項。
<ListPreference
android:key="SHARED_PREFS_KEY"
...
/>
每次用戶從列表中選擇項目被保存到默認SharedPreferences
我訪問我的這樣的..請參見下面的例子
在我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", "");