1

選択肢を表示しないリスト設定があります。
正しいスロット数のボックスが表示されます。オプションはスロットにありません。
テーマを変えてみました。
役に立ちませんでした。
デフォルト値属性の追加と削除を試みました。
それは助けにはなりませんでした。
set Default Value メソッドを使用してみました。それは助けにはなりませんでした。
私はこれを本で行い、それに1日以上費やしました。
何か案は?

Options.class から

    public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.options);
            //PreferenceManager.setDefaultValues(getApplicationContext(),R.xml.options,
            //false); 
    }

プリファレンス xml ファイルから:

        <ListPreference
        android:title="@string/opt_cuisine_title"
        android:summary="@string/opt_cuisine_summary"
        android:defaultValue="Chinese"
        android:entries="@array/cuisine_preferences_array"
        android:entryValues="@array/cuisine_preferences"
        android:order="3"
        android:key="list" 
        />

resource/strings.xml ファイルから:

<string-array name="cuisine_preferences" >
    <item name="Israeli">Israeli</item>
    <item name="Thai">Thai</item>
    <item>Italian</item>
    <item>French</item>
    <item>Other</item>
</string-array>
<integer-array name="cuisine_preferences_array">
    <item>1</item>
    <item>2</item>
    <item>3</item>
    <item>4</item>
    <item>5</item>
</integer-array>

マニフェストから:

 <activity
     android:name=".Options"
     android:label="@string/options_header"
 >
 </activity>
4

1 に答える 1

0

まず、ListPreference読めません<integer-array>。との両方android:entriesandroid:entryValuesある必要があります<string-array>。ただし、コード内で文字列を整数に解析できます。

2 つ目android:entriesは、画面に表示される内容であり、android:entryValues内部で使用される値です。

したがって、

<ListPreference
android:title="@string/opt_cuisine_title"
android:summary="@string/opt_cuisine_summary"
android:defaultValue="1"
android:entries="@array/cuisine_preferences"
android:entryValues="@array/cuisine_preferences_array"
android:order="3"
android:key="list" 
/>


<string-array name="cuisine_preferences" >
    <item>Israeli</item>
    <item>Thai</item>
    <item>Italian</item>
    <item>French</item>
    <item>Other</item>
</string-array>
<string-array name="cuisine_preferences_array">
    <item>1</item>
    <item>2</item>
    <item>3</item>
    <item>4</item>
    <item>5</item>
</string-array>

編集:android:defaultValueのいずれかである必要がありandroid:entryValuesます。アイテムに属性<string-array>は必要ありません。name

于 2013-08-07T03:19:23.013 に答える