代码:http://pastebin.com/5bhKULGd
问题: 单击gridview中的项目时,OCLGenre(OnItemClickListener用于流派视图) 在第123行触发一个nullPointer。我试图理解nullPointer的来源但无法找到它。筹码:
ERROR/AndroidRuntime(10511): FATAL EXCEPTION: main
java.lang.NullPointerException
at com.MMWeb.MMWeb$browse$1.onItemClick(MMWeb.java:123)
at android.widget.AdapterView.performItemClick(AdapterView.java:284)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
任何人都有指向哪里可以找到这个nullPointer源的指针?
答案 0 :(得分:1)
如果您尝试访问null
的对象。如下例所示。
ClassA objA;
此时您刚刚声明了此对象,但尚未初始化或实例化它。
当您尝试访问其中的任何属性或方法时,它将抛出
NullPointerException
。
答案 1 :(得分:0)
Oke我发现了我的问题通过将ImageAdapter移出“browse”类,“browse”类没有对ArrayList“items”的任何引用。我可以找到问题,因为毕竟我在第112行定义了ArrayList。但是,showGenres()使用本地ArrayList,而ImageAdapter会将它放在“browser.items”中。通过删除第145,154和162行上的项目的本地删除来修复它