今天写了一个非常简单的xml布局文件,运行,抛出异常android.view.InflateException。具体信息如下:
05-17 15:19:08.600: E/AndroidRuntime(1006): FATAL EXCEPTION: main
05-17 15:19:08.600: E/AndroidRuntime(1006): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.pinky.android.wsmarked/com.pinky.android.wsmarked.WSMarkedActivity}: android.view.InflateException: Binary XML file line #10: Error inflating class TextEdit
05-17 15:19:08.600: E/AndroidRuntime(1006): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1654)
05-17 15:19:08.600: E/AndroidRuntime(1006): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1670)
05-17 15:19:08.600: E/AndroidRuntime(1006): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-17 15:19:08.600: E/AndroidRuntime(1006): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
05-17 15:19:08.600: E/AndroidRuntime(1006): at android.os.Handler.dispatchMessage(Handler.java:99)
05-17 15:19:08.600: E/AndroidRuntime(1006): at android.os.Looper.loop(Looper.java:123)
05-17 15:19:08.600: E/AndroidRuntime(1006): at android.app.ActivityThread.main(ActivityThread.java:3695)
05-17 15:19:08.600: E/AndroidRuntime(1006): at java.lang.reflect.Method.invoke(Method.java:507)
05-17 15:19:08.600: E/AndroidRuntime(1006): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
05-17 15:19:08.600: E/AndroidRuntime(1006): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
05-17 15:19:08.600: E/AndroidRuntime(1006): at dalvik.system.NativeStart.main(Native Method)
重新认真地检查xml文件,还是没有发现任何问题。谷歌,发现出现这种异常,基本与相应的xml的标签和属性的命名、定义有关。再对比以前写的xml,终于找到了错误!控件EditText被我写成了TextView~ 修改后,程序终于OK~
总结一下xml文件经常容易犯的低级错误:
1. 控件名称不能写错(我上面就属于这种情况)
2.名称的大小写要区分,如EditText与editText是完全不一样的
3.标签一定是成对出现的,尤其是嵌套布局
4.属性前面一般要加android:
5.id比较特殊,应该是@+id ,其它的直接加@即可,如@string
6.drawable中引用的图片资源不存在或名称大小写有误