今天写了一个非常简单的xml布局文件,运行,抛出异常android.view.InflateException。具体信息如下:

Java代码   收藏代码
  1. 05-17 15:19:08.600: E/AndroidRuntime(1006): FATAL EXCEPTION: main  
  2. 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  
  3. 05-17 15:19:08.600: E/AndroidRuntime(1006):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1654)  
  4. 05-17 15:19:08.600: E/AndroidRuntime(1006):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1670)  
  5. 05-17 15:19:08.600: E/AndroidRuntime(1006):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)  
  6. 05-17 15:19:08.600: E/AndroidRuntime(1006):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)  
  7. 05-17 15:19:08.600: E/AndroidRuntime(1006):     at android.os.Handler.dispatchMessage(Handler.java:99)  
  8. 05-17 15:19:08.600: E/AndroidRuntime(1006):     at android.os.Looper.loop(Looper.java:123)  
  9. 05-17 15:19:08.600: E/AndroidRuntime(1006):     at android.app.ActivityThread.main(ActivityThread.java:3695)  
  10. 05-17 15:19:08.600: E/AndroidRuntime(1006):     at java.lang.reflect.Method.invoke(Method.java:507)  
  11. 05-17 15:19:08.600: E/AndroidRuntime(1006):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)  
  12. 05-17 15:19:08.600: E/AndroidRuntime(1006):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)  
  13. 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中引用的图片资源不存在或名称大小写有误