Android 调用项为“”的数组资源时出错;在;

Android 调用项为“”的数组资源时出错;在;,android,android-preferences,Android,Android Preferences,我正在尝试加载列表首选项的数组。它代表高度,所以我的值是英寸的“in”,厘米的“cm”。“首选项列表”对话框在我尝试打开该对话框时立即崩溃。当我将其更改为除“in”项以外的任何字符串时,它都可以工作。有人知道为什么会这样吗 编辑: 这是我的数组。我没有将其定义为字符串数组 就像上面评论中提到的Commonware一样,只有ListPreference支持它。在我把它改成字符串数组后,一切都很好 我只是把它放在这里,因为他/她没有把它作为答案。听起来很疯狂。你能发布失败的吗?用数组编辑了我的帖子。

我正在尝试加载列表首选项的数组。它代表高度,所以我的值是英寸的“in”,厘米的“cm”。“首选项列表”对话框在我尝试打开该对话框时立即崩溃。当我将其更改为除“in”项以外的任何字符串时,它都可以工作。有人知道为什么会这样吗

编辑:

这是我的数组。我没有将其定义为字符串数组


就像上面评论中提到的Commonware一样,只有ListPreference支持它。在我把它改成字符串数组后,一切都很好


我只是把它放在这里,因为他/她没有把它作为答案。

听起来很疯狂。你能发布失败的
吗?用数组编辑了我的帖子。我使用的是a,而不是a。我刚试过用,效果很好。但我仍然想知道为什么它一开始就不起作用。谢谢。好的,
列表首选项仅支持
<array name="length_units">
    <item>in</item>
    <item>cm</item>
</array>
> W/dalvikvm(18013): threadid=1: thread exiting with uncaught exception
> (group=0x400259f8) E/AndroidRuntime(18013): FATAL EXCEPTION: main
> E/AndroidRuntime(18013): java.lang.NullPointerException
> E/AndroidRuntime(18013):  at
> android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:355)
> E/AndroidRuntime(18013):  at
> android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
> E/AndroidRuntime(18013):  at
> android.widget.AbsListView.obtainView(AbsListView.java:1315)
> E/AndroidRuntime(18013):  at
> android.widget.ListView.measureHeightOfChildren(ListView.java:1198)
> E/AndroidRuntime(18013):  at
> android.widget.ListView.onMeasure(ListView.java:1109)
> E/AndroidRuntime(18013):  at android.view.View.measure(View.java:8172)
> E/AndroidRuntime(18013):  at
> android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3140)
> E/AndroidRuntime(18013):  at
> android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
> E/AndroidRuntime(18013):  at
> android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
> E/AndroidRuntime(18013):  at
> android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
> E/AndroidRuntime(18013):  at android.view.View.measure(View.java:8172)
> E/AndroidRuntime(18013):  at
> android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3140)
> E/AndroidRuntime(18013):  at
> android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
> E/AndroidRuntime(18013):  at
> android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
> E/AndroidRuntime(18013):  at
> android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
> E/AndroidRuntime(18013):  at
> com.android.internal.widget.WeightedLinearLayout.onMeasure(WeightedLinearLayout.java:60)
> E/AndroidRuntime(18013):  at android.view.View.measure(View.java:8172)
> E/AndroidRuntime(18013):  at
> android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3140)
> E/AndroidRuntime(18013):  at
> android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
> E/AndroidRuntime(18013):  at android.view.View.measure(View.java:8172)
> E/AndroidRuntime(18013):  at
> android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3140)
> E/AndroidRuntime(18013):  at
> android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
> E/AndroidRuntime(18013):  at android.view.View.measure(View.java:8172)
> E/AndroidRuntime(18013):  at
> android.view.ViewRoot.performTraversals(ViewRoot.java:805)
> E/AndroidRuntime(18013):  at
> android.view.ViewRoot.handleMessage(ViewRoot.java:1744)
> E/AndroidRuntime(18013):  at
> android.os.Handler.dispatchMessage(Handler.java:99)
> E/AndroidRuntime(18013):  at android.os.Looper.loop(Looper.java:144)
> E/AndroidRuntime(18013):  at
> android.app.ActivityThread.main(ActivityThread.java:4937)
> E/AndroidRuntime(18013):  at
> java.lang.reflect.Method.invokeNative(Native Method)
> E/AndroidRuntime(18013):  at
> java.lang.reflect.Method.invoke(Method.java:521)
> E/AndroidRuntime(18013):  at
> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
> E/AndroidRuntime(18013):  at
> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
> E/AndroidRuntime(18013):  at dalvik.system.NativeStart.main(Native
> Method)