Как получить значение общего предпочтения - PullRequest
0 голосов
/ 30 декабря 2011

Я хочу получить «записи», а не «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 голосов
/ 30 декабря 2011

Вам нужно использовать метод getAll (), который возвращает Map, из этой карты получить KeySet, который возвращает записи с общими предпочтениями.

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

Iterator<String> keySetIter = keySet .iterator();
  while (keySetIter.hasNext()) {
  String keyEntry= keySetIter.next();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...