Android異常:android.view.InflateException: Binary XML file line #14: Error inflating class


總體原因如下:

 

1. 引用類名問題:自定義了一個View,將他用於布局文件中,假設他的包名叫MyPackage,類名叫MyTestView,這個時候你在XML作為布局元素來布局的話,必須使用完整路徑名,也就是包名加類名來引用,用MyPackage.MyTestView來進行引用。

2.構造函數問題:自定義一個View,必須派生實現基類View的三個構造函數

    View(Context context)     //Simple constructor to use when creating a view from code

    View(Context context, AttributeSet attrs)     //Constructor that is called when inflating a view from XML

    View(Context context, AttributeSet attrs, int defStyle)     //Perform inflation from XML and apply a class-specific base style

    從文檔上的介紹來看,第二個和第三個構造函數對於XML這種引用方式是必須實現的,這三個構造函數應該是在不同的應用場合來實例化一個View對象。

3.編譯的中間文件沒有清理干凈:第三種就是你在原生系統代碼的編譯環境下編譯APK之后,特別是修改了XML,出現標題所述現象,刪除bin目錄,Clean重新生成下項目APK

4.找不到資源文件:我原來在2.3的原生系統增加動態壁紙的時候,動態壁紙一跑起來就出這個異常,然后crash,當時就是因為找不到drawable的資源文件,於是當時我把drawable的hdpi或nodpi等文件夾的圖片資源都拷貝一份到drawble下,問題解決(當時一直不明白系統會根據分辨率來選擇加載不同drawable下文件夾的資源,為什么這里必須放入drawable中)。

 

總結來看,就是xml中【控件屬性】和【控件的類】(一般是自定定義的控件)你出了問題

 

我犯了錯誤是:

是把<View>寫成了<view>,導致了程序出錯

 

還有出現這個錯誤另外一個的博客

<TextView style="@style/xxx">

 

寫成了:<TextView android:style="@style/xxx">

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM