Я создал Список предпочтений в своей активности предпочтений, и значение, которое код возвращает для выбранного элемента, является значением Entry, а не значением EntryValues.
Пример:
Вступление: Дэвид Нью
Значение: DAVIDNEW.TTF
Коды возвращают " Дэвид Нью " вместо " DAVIDNEW.TTF ".
Вот код:
Файл preferences.xml
:
<ListPreference
android:key="fontSelect"
android:title="@string/textPrefs"
android:summary="@string/textPrefs"
android:defaultValue="DAVIDNEW.TTF"
android:entries="@array/fonts"
android:entryValues="@array/fontsValues" />
Файл arrays.xml
:
<string-array name="fonts">
<item>Alex</item>
<item>Cardo</item>
<item>Chaya</item>
<item>David New</item>
<item>Droid Sans</item>
<item>Frank</item>
<item>Mike Hebrew</item>
</string-array>
<string-array name="fontsValues">
<item>ALEX.TTF</item>
<item>Cardo99s.ttf</item>
<item>CHAYA.TTF</item>
<item>DAVIDNEW.TTF</item>
<item>DroidSansHebrew.ttf</item>
<item>frank.ttf</item>
<item>mike_hebrew_regular_v33.ttf</item>
</string-array>
Файл reader.java
:
String f1 = new String(myprefs.getString("fontSelect", "DAVIDNEW.TTF"));
font = Typeface.createFromAsset(getAssets(), f1);
tv.setTypeface(font);
Значение f1
равно " David New " вместо " DAVIDNEW.TTF ".