Arrayadapter.getcount null point exception

时间:2011-02-22 09:52:23

标签: android arrays

我得到了下面的堆栈跟踪(下面是一个完整的副本),这给了我很少或根本没有指示在大型应用程序中出错时的位置,并且用户反馈不会超出“它崩溃”。

我能做些什么来更明确地指出这一点吗?

java.lang.NullPointerException at android.widget.ArrayAdapter.getCount(ArrayAdapter.java:291)
    at android.widget.AdapterView.checkFocus(AdapterView.java:689)
    at android.widget.AdapterView$AdapterDataSetObserver.onInvalidated(AdapterView.java:813)
    at android.database.DataSetObservable.notifyInvalidated(DataSetObservable.java:43)
    at android.widget.BaseAdapter.notifyDataSetInvalidated(BaseAdapter.java:54)
    at android.widget.ArrayAdapter$ArrayFilter.publishResults(ArrayAdapter.java:469)
    at android.widget.Filter$ResultsHandler.handleMessage(Filter.java:282)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:143)
    at android.app.ActivityThread.main(ActivityThread.java:4701)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:521)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    at dalvik.system.NativeStart.main(Native Method)

2 个答案:

答案 0 :(得分:10)

查看ArrayAdapter.getCount() /** * {@inheritDoc} */ public int getCount() { return mObjects.size(); }

null

显然mObjects是{{1}},即你的ListView或其他AdapterView派生类型在你用它的数据初始化之前试图使用适配器。

答案 1 :(得分:0)

您可以做的是在每次使用Log类

调用getCount()之前输入调试信息
Log.d("tag", "Trying to get count on line 50 class Test");

然后打开logcat并在发生错误之前找到此日志的最后一个条目。然后你就有了崩溃的正确位置。