得到错误java.lang.RuntimeException

mad*_*hoo -2 java android view

我是Android新手.我收到错误java.lang.NullPointerException,java.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
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 8

给定堆栈跟踪,它看起来像这一行:

at com.md.ExpertRemote.first.ExpertRemote.onCreate(ExpertRemote.java:286)
Run Code Online (Sandbox Code Playgroud)

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

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

在三个方面将其用作学习体验非常重要:

  • 学习如何读取堆栈跟踪.一个非常简单的第一关是要找到其中第一个地方提到的代码.
  • 了解如何使用调试器.虽然我没有做过任何Android开发我自己,我希望在调试器中运行时,除了会触发执行的问题的地方暂停.即使它没有,使用调试器将帮助您验证问题的任何诊断(例如,检查参数值是否真的为null)
  • 了解如何发布更好的问题:如果试图解决问题,请考虑您需要知道的内容.当然,这样做也应该帮助你解决自己的问题......