Android:找不到定义的数组资源?

时间:2010-05-09 21:21:22

标签: android arrays resources preferences listpreference

我的Android应用程序中有一个奇怪的(?)错误。我已经通过以下方式在values / arrays.xml中定义了一些数组:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <array name="perimeter">
        <item>10 miles</item>
        <item>20 miles</item>
        <item>30 miles</item>
    </array>

    <array name="regvalues">
        <item>1</item>
        <item>2</item>
        <item>3</item>
    </array>
</resources>

现在我想在ListPreference中为PreferenceActivity(由xml文件定义)使用它们。所以我为此ListPreference设置了android:entries="@array/perimeter" android:entryValues="@array/regvalues"。 当我尝试在我的设备上使用它时,应用程序崩溃了。 (Dialog.close()中的NullPointer)如果我尝试使用regvalues-items作为ListPreference的条目,我在ArrayAdapter.createViewFromResource(int,View,ViewGroup,int)中获得NullPointer行:355

所以regvalues数组似乎有些错误。但是什么?!? Eclipse在编译时向我显示没有错误。因此,xml文件和java代码中的所有内容都是正确编写的,并且没有拼写错误。问题在哪里?!?

1 个答案:

答案 0 :(得分:3)

使用string-array代替array s。即使是int s。