Ошибка при вызове ресурса массива с элементом «в» - PullRequest
0 голосов
/ 27 июля 2011

Я пытаюсь загрузить массив для моего списка предпочтений. Это для высоты, и поэтому мои значения в дюймах и в сантиметрах. Диалоговое окно списка настроек вылетает, как только я пытаюсь открыть диалоговое окно. Когда я изменяю его на любую строку, кроме элемента «в», это работает. Кто-нибудь знает, почему это может происходить?

Edit:

Вот мой массив. Я не определил его как строковый массив.

<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)

1 Ответ

0 голосов
/ 23 августа 2011

Как сказал CommonsWare в комментариях выше, поддерживается только ListPreference. Все работало нормально после того, как я изменил его на строковый массив.

Я просто помещаю это здесь, так как он / она не поставил это как ответ.

...