我正在使用此跟踪获得异常:
java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2247)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2297)
at android.app.ActivityThread.access$700(ActivityThread.java:152)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1282)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5328)
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:1102)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.something.activity.SomeActivity.onCreate(SomeActivity.java:53)
at android.app.Activity.performCreate(Activity.java:5250)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
... 11 more
在给定活动的第53行中,我只是调用SomeActivity的方法,这是这样的:
50 @Override
51 protected void onCreate(Bundle savedInstanceState){
52 ...
53 populateItems();
54 ...
55 }
如何在方法的调用行上获得NullPointerException
?我的日志记者喝醉了还是什么? BTW我非常肯定代码行以及获得异常的版本和给定代码是否完全相同。
答案 0 :(得分:2)
你不能,一个方法不是一个领域。很可能看起来你编译了代码,运行它然后改变了一些代码。然后堆叠的原因导致你错了。
答案 1 :(得分:1)
完整的onCreate方法
检查这些:
- 在populateItems()之前调用setContentView(layout)
-in findViewById(item),item必须在它的容器布局
答案 2 :(得分:0)
确保您在main_layout
中使用的setContentView(R.layout.main_layout)
布局正确,其中应包含您在populateItems()
中使用的所有项目/视图,然后您可以在populateItems()
中获取每个项目{1}} findViewById(R.id.item_id)
,否则您将获得NullPointerException