我的应用程序在ListView的自定义适配器中失败

时间:2015-12-30 18:47:11

标签: android android-listview android-arrayadapter

我的应用在ListView的自定义适配器中失败。

我正在Android中编写一个应用,我希望在3列中显示ListView。 我为ListView创建了一个适配器,我的应用程序在命令上失败了:

listView.setAdapter(adapter);

其中listViewListViewadapter是我创建的适配器的子类。 我知道问题在于我对适配器的定义,我想找一个问题,但在哪里寻找?

这是一个日志:

FATAL EXCEPTION: main  java.lang.NullPointerException   
at com.hayored.memory_helper.SearchActivity.search(SearchActivity.java:156) 
at com.hayored.memory_helper.SearchActivity.onClick(SearchActivity.java:120)
at android.view.View.performClick(View.java:4204)
at android.view.View$PerformClick.run(View.java:17355)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)

1 个答案:

答案 0 :(得分:1)

我刚发现问题 - 在命令listView.setAdapter(adapter);的Java程序中 listView未在我的xml文件中定义为ListView类型。 我的应用程序有几个屏幕,每个屏幕上有几个按钮和文本视图,所以我的结论是:屏幕上的每个项目都有名称:xxx_yy_abcd其中xxx是屏幕的名称,yy - 项目的类型(tv - TextView ,bt - button等)和abcd项目的名称。我希望通过这种方式可以避免类似的错误。