我有一个应用程序,可以获取可用日历和显示的列表 他们在Spinner中。
我有检查以确保如果可用的日历列表为空, 然后ListPreference仍会在Spinner中显示“None available”。
我正在使用ListPreference来显示Spinner 首选项选项卡。
这是preferences.xml:
<ListPreference android:title="Calendar"
android:key="calendars"
android:summary="Calendars to use for saving Appts"
android:selectable="true"
android:entryValues="@array/cal_entryvalues_list_preference"
android:entries="@array/cal_entries_list_preference"
android:defaultValue="0"
android:enabled="true"></ListPreference>
我的用户报告了以下错误:
显示java.lang.NullPointerException 在 android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java: 355) 在android.widget.ArrayAdapter.getView(ArrayAdapter.java:323) 在android.widget.AbsListView.obtainView(AbsListView.java:1294) 在android.widget.ListView.measureHeightOfChildren(ListView.java:1198) 在android.widget.ListView.onMeasure(ListView.java:1109) 在android.view.View.measure(View.java:8171) 在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 在 android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java: 1012) 在android.widget.LinearLayout.measureVertical(LinearLayout.java:381) 在android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 在android.view.View.measure(View.java:8171) 在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 在 android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java: 1012) 在android.widget.LinearLayout.measureVertical(LinearLayout.java:381) 在android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 在 com.android.internal.widget.WeightedLinearLayout.onMeasure(WeightedLinearLayout.java: 60) 在android.view.View.measure(View.java:8171) 在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 在android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 在android.view.View.measure(View.java:8171) 在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 在android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 在android.view.View.measure(View.java:8171) 在android.view.ViewRoot.performTraversals(ViewRoot.java:801) 在android.view.ViewRoot.handleMessage(ViewRoot.java:1727) 在android.os.Handler.dispatchMessage(Handler.java:99) 在android.os.Looper.loop(Looper.java:123) 在android.app.ActivityThread.main(ActivityThread.java:4627) at java.lang.reflect.Method.invokeNative(Native Method) 在java.lang.reflect.Method.invoke(Method.java:521) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 在dalvik.system.NativeStart.main(本地方法)
堆栈跟踪似乎指向Android的所有内部工作方式。 没有任何参考我的代码。这种情况正在发生 Android 2.1以及Android 2.2平台。
不幸的是,我无法在我的Moto上重现错误 Droid的。从Developer Console日志中可以看出这是特定于 某些手机(例如:HTC Incredible)。
知道这里发生了什么吗?