在Android中调用方法时出现奇怪的异常

时间:2015-03-10 09:28:07

标签: java android android-activity nullpointerexception

我正在使用此跟踪获得异常:

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我非常肯定代码行以及获得异常的版本和给定代码是否完全相同。

3 个答案:

答案 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