如何获得共享偏好的价值

时间:2011-12-30 13:27:01

标签: android sharedpreferences

我想从共享首选项中检索“条目”而不是“entryValue”。我正在使用它,它获得了entryValue:

String notifyInterval = PreferenceManager.getDefaultSharedPreferences(mActivity).getString(ACCUWX.Preferences.PREF_NOTIFY_INTERVAL, null);

这是XML和数组文件:

<ListPreference
android:key="pref_temp_notifications"
android:title="@string/notifications"
android:entries="@array/pref_temp_notifications"
android:entryValues="@array/pref_temp_notifications_values"
android:dialogTitle="@string/notifications"
android:defaultValue="2"/>

<string-array name="pref_temp_notifications">
     <item>@string/my_current_location</item>
     <item>@string/home_location</item>
     <item>@string/off</item>
</string-array>
<string-array name="pref_temp_notifications_values">
     <item>0</item>
     <item>1</item>
     <item>2</item>
</string-array>

所以我想检索字符串值,而不是数字。数字是我返回并分配给我的变量notifyInterval。我如何抓取文字?

1 个答案:

答案 0 :(得分:0)

你需要使用getAll()方法从该映射返回Map,获取返回共享首选项条目的KeySet。

Map<String, ?> test = getAll ();
Set keySet = test.keySet();

Iterator<String> keySetIter = keySet .iterator();
  while (keySetIter.hasNext()) {
  String keyEntry= keySetIter.next();
}