问题描述:安卓入门,编写一个小程序,安装运行之后异常退出,错误代码如下:
09-10 16:43:37.700: W/dalvikvm(4054): threadid=1: thread exiting with uncaught exception (group=0x40018578)
09-10 16:43:37.700: E/AndroidRuntime(4054): FATAL EXCEPTION: main09-10 16:43:37.700: E/AndroidRuntime(4054): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.app/com.example.app.MainActivity}: java.lang.NullPointerException
09-10 16:43:37.700: E/AndroidRuntime(4054): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
09-10 16:43:37.700: E/AndroidRuntime(4054): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
09-10 16:43:37.700: E/AndroidRuntime(4054): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
09-10 16:43:37.700: E/AndroidRuntime(4054): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
09-10 16:43:37.700: E/AndroidRuntime(4054): at android.os.Handler.dispatchMessage(Handler.java:99)
09-10 16:43:37.700: E/AndroidRuntime(4054): at android.os.Looper.loop(Looper.java:130)
09-10 16:43:37.700: E/AndroidRuntime(4054): at android.app.ActivityThread.main(ActivityThread.java:3687)
09-10 16:43:37.700: E/AndroidRuntime(4054): at java.lang.reflect.Method.invokeNative(Native Method)
09-10 16:43:37.700: E/AndroidRuntime(4054): at java.lang.reflect.Method.invoke(Method.java:507)
09-10 16:43:37.700: E/AndroidRuntime(4054): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
09-10 16:43:37.700: E/AndroidRuntime(4054): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
09-10 16:43:37.700: E/AndroidRuntime(4054): at dalvik.system.NativeStart.main(Native Method)
09-10 16:43:37.700: E/AndroidRuntime(4054): Caused by: java.lang.NullPointerException
09-10 16:43:37.700: E/AndroidRuntime(4054): at com.example.app.MainActivity.onCreate(MainActivity.java:22)
09-10 16:43:37.700: E/AndroidRuntime(4054): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-10 16:43:37.700: E/AndroidRuntime(4054): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
09-10 16:43:37.700: E/AndroidRuntime(4054): ... 11 more
09-10 16:56:11.949: W/IInputConnectionWrapper(4127): reportIsSoftInputMethodShowing on inactive InputConnection
错误分析:Caused by: java.lang.NullPointerException,即空指针异常。
问题解决:检查代码,发现如下问题:
layout文件下我用的是main.xml,而setContentView(R.layout.activity_main)引用的还是生成的activity_main.xml,所以导致空指针异常。
总结:遇到这样的问题,一定要仔细检查自己所写的代码,错误往往就在自己的代码里边,指针引用错误,工具不会报错,只能自己一行一行检查自己的代码,发现并解决其中的错误。写在这里,共勉。