我的应用在ListView
的自定义适配器中失败。
我正在Android中编写一个应用,我希望在3列中显示ListView
。
我为ListView
创建了一个适配器,我的应用程序在命令上失败了:
listView.setAdapter(adapter);
其中listView
是ListView
,adapter
是我创建的适配器的子类。
我知道问题在于我对适配器的定义,我想找一个问题,但在哪里寻找?
这是一个日志:
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)
答案 0 :(得分:1)
我刚发现问题 - 在命令listView.setAdapter(adapter);
的Java程序中
listView未在我的xml文件中定义为ListView类型。
我的应用程序有几个屏幕,每个屏幕上有几个按钮和文本视图,所以我的结论是:屏幕上的每个项目都有名称:xxx_yy_abcd其中xxx是屏幕的名称,yy - 项目的类型(tv - TextView ,bt - button等)和abcd项目的名称。我希望通过这种方式可以避免类似的错误。