3

Preferences アクティビティで List Preference を作成しましたが、コードが選択した項目に対して返す値は、EntryValues の値ではなく Entry の値です。

例:
エントリ: David New
値: DAVIDNEW.TTF

このコードは、「 DAVIDNEW.TTF 」ではなく「 David New 」を返します。


コードは次のとおりです。

ファイル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);

の値は" DAVIDNEW.TTF "ではなくf1" David New "です。

4

0 に答える 0