3

設定セクションには、色のリスト設定があります (以下のコードに示されています) が、値が表示されない理由がわかりません。私はインターネットをチェックしましたが、android:entries と android:entryValues の違いを理解できないようです。これは私のコードで問題になる可能性がありますか? どんな助けでも大歓迎です。前もって感謝します。

下の配列

<string-array name="preferencebackground">
<item name="Red"/>
<item name="Green"/>
<item name="Blue"/>
<item name="Orange"/>
</string-array>
<string name="preferencebackground">Background Colour Preferences</string>
 <string-array name="preferencebackgroundvalues">
<item name="Red"/>
<item name="Green"/>
<item name="Blue"/>
<item name="Orange"/>
</string-array>

Pref_general.xml

    <ListPreference
    android:defaultValue="-1"
    android:entries="@array/preferencebackground"
    android:entryValues="@array/preferencebackgroundvalues"
    android:key="example_list1"
    android:negativeButtonText="@null"
    android:positiveButtonText="@null"
    android:title="@string/preferencebackground" />
4

2 に答える 2

4

配列の定義は次のようになります。

<string-array name="entries">
    <item>Red</item>
    <item>Blue</item>
    <item>Green</item>
    <item>Black</item>
</string-array>

<string-array name="values">
    <item>#FF0000</item>
    <item>#0000FF</item>
    <item>#00FF00</item>
    <item>#000000</item>
</string-array>

さらに、これらの行を設定から削除します...

android:negativeButtonText="@null"
android:positiveButtonText="@null"

...そして、さらに重要なこと: リストの一部であるデフォルト値を設定します。

<ListPreference
    android:defaultValue="Red"
    android:entries="@array/preferencebackground"
    android:entryValues="@array/preferencebackgroundvalues"
    android:key="example_list1"
    android:title="@string/preferencebackground" />

と呼ばれるファイルに配列を保存しarrays.xml、設定ファイルも適切な形式であると仮定すると、問題なく動作するはずです。

psもちろん、ハードコーディングされたRed色参照の代わりに文字列参照を使用することをお勧めします#FF0000.

于 2013-04-02T19:00:13.980 に答える
-1

私は同じ問題に遭遇しました.私の間違いはarrays.xmlにあります.

これは私の以前のコードです..

 <string-array name="list">
        <item name="option 1">Option 1 </item>
        <item name="option 2">Option 2 </item>
        <item name="option 3">Option 3 </item>
        <item name="option 4">Option 4 </item>
    </string-array>

    <string-array name="lvalues">
        <item name="1">1</item>
        <item name="2">2</item>
        <item name="3">3</item>
        <item name="4">4</item>
    </string-array>

これは私の改訂されたコードです。

 <string-array name="optionlist">
        <item name="option 1">Option 1 </item>
        <item name="option 2">Option 2 </item>
        <item name="option 3">Option 3 </item>
        <item name="option 4">Option 4 </item>
    </string-array>

    <string-array name="optionlistValues">
        <item name="1">1</item>
        <item name="2">2</item>
        <item name="3">3</item>
        <item name="4">4</item>
    </string-array>

これが何らかの形で役立つことを願っています。

于 2014-08-20T10:43:06.360 に答える