得到错误java.lang.RuntimeException

时间:2012-10-18 06:18:08

标签: java android view

我是Android新手。我收到错误java.lang.NullPointerExceptionjava.lang.RuntimeException申请人关闭。

10-18 06:04:12.676: E/AndroidRuntime(340): FATAL EXCEPTION: main
10-18 06:04:12.676: E/AndroidRuntime(340): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.md.ExpertRemote/com.md.ExpertRemote.first.ExpertRemote}: java.lang.NullPointerException
10-18 06:04:12.676: E/AndroidRuntime(340):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
10-18 06:04:12.676: E/AndroidRuntime(340):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
10-18 06:04:12.676: E/AndroidRuntime(340):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
10-18 06:04:12.676: E/AndroidRuntime(340):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
10-18 06:04:12.676: E/AndroidRuntime(340):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-18 06:04:12.676: E/AndroidRuntime(340):  at android.os.Looper.loop(Looper.java:123)
10-18 06:04:12.676: E/AndroidRuntime(340):  at android.app.ActivityThread.main(ActivityThread.java:4627)
10-18 06:04:12.676: E/AndroidRuntime(340):  at java.lang.reflect.Method.invokeNative(Native Method)
10-18 06:04:12.676: E/AndroidRuntime(340):  at java.lang.reflect.Method.invoke(Method.java:521)
10-18 06:04:12.676: E/AndroidRuntime(340):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-18 06:04:12.676: E/AndroidRuntime(340):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-18 06:04:12.676: E/AndroidRuntime(340):  at dalvik.system.NativeStart.main(Native Method)
10-18 06:04:12.676: E/AndroidRuntime(340): Caused by: java.lang.NullPointerException
10-18 06:04:12.676: E/AndroidRuntime(340):  at android.view.ViewGroup.addViewInner(ViewGroup.java:1969)
10-18 06:04:12.676: E/AndroidRuntime(340):  at android.view.ViewGroup.addView(ViewGroup.java:1865)
10-18 06:04:12.676: E/AndroidRuntime(340):  at android.view.ViewGroup.addView(ViewGroup.java:1845)
10-18 06:04:12.676: E/AndroidRuntime(340):  at com.md.ExpertRemote.first.ExpertRemote.onCreate(ExpertRemote.java:286)
10-18 06:04:12.676: E/AndroidRuntime(340):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-18 06:04:12.676: E/AndroidRuntime(340):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
10-18 06:04:12.676: E/AndroidRuntime(340):  ... 11 more

1 个答案:

答案 0 :(得分:8)

鉴于堆栈跟踪,它看起来像这一行:

at com.md.ExpertRemote.first.ExpertRemote.onCreate(ExpertRemote.java:286)

...可能正在调用ViewGroup.addView()并传递null值作为其中一个参数。该参数仅在几个级别下被验证,因此堆栈跟踪的额外行。

查看ExpertRemote.java中的第286行,并找出其中一个值为null的原因。 (根据我对这类问题的经验,通常是因为你使用了错误的ID来查找对象。)遗憾的是,如果没有看到代码,我们就无法提供更具体的帮助。

在三个方面将此作为学习经验非常重要:

  • 了解如何阅读堆栈跟踪。一个非常简单的第一步是查找提及 代码的第一个地方。
  • 了解如何使用调试器。虽然我自己没有进行任何Android开发,但我期望在调试器中运行时,该异常将触发f