Как получить «заголовок» вместо «значения» предпочтения с помощью getString () - PullRequest
2 голосов
/ 11 июня 2011

Я новичок в программировании на Java и Android, и я довольно быстро учусь, но я не могу найти ответ на этот вопрос после часа поиска в Google ...

I 'Мы настроили мое приложение для Android с помощью файла preferences.xml, который использует запись ListPreference.Он ссылается на 2 строковых массива, один для отображения списка, другой для фактических значений:

    <ListPreference
        android:title="Draw Rule"
        android:summary="Choose between Draw 1 and Draw 3"
        android:key="draw_rule"
        android:defaultValue="draw3"
        android:entries="@array/drawrule"
        android:entryValues="@array/drawruleValues" />

Мой arrays.xml выглядит следующим образом:

<string-array name="drawrule">
    <item name="draw1">Draw 1</item>
    <item name="draw3">Draw 3</item>
</string-array>
<string-array name="drawruleValues">
    <item name="draw1">draw1</item>
    <item name="draw3">draw3</item>
</string-array>

Чтобы получить настройки, Я начинаю с использования getDefaultSharedPreferences:

    SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);

Я понимаю, как получить правильное значение из drawruleValues ​​с sharedPrefs.getString("draw_rule", "null").Моя проблема в том, что для целей отображения я бы хотел вместо этого показать элемент из drawrule, а не drawruleValues ​​(например, "Draw Setting: Draw 3").

Может кто-нибудь сказать мне, как это сделать?

1 Ответ

1 голос
/ 11 июня 2011

Вариант № 1: не использовать отдельные <string-array> ресурсы.Используйте drawrule для обоих массивов в определении предпочтения.

Опция # 2: перебирайте содержимое drawruleValues (через getStringArray() на объекте Resources), чтобы найти индекс значения,затем используйте его, чтобы получить «title» из массива drawrule (опять же, через getStringArray() для объекта Resources).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...