Android開發:android.support.v7.widget.AppCompatButton cannot be cast to android.widget.EditText;使用Fragment時不同引入包的問題解決


一、問題記錄

  java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.gb.wofei/com.example.gb.wofei.LoginActivity}: java.lang.ClassCastException:

  android.support.v7.widget.AppCompatButton cannot be cast to android.widget.EditText

  

二、問題解決

  1、更換引入包:

  在使用Fragment做底部導航欄時遇到了這個問題,查了資料發現在引入jar包時要引入import android.app.Fragment;,不能引入import android.support.v4.app.Fragment;

  在引入后者時,代碼中不會報錯,但運行程序時則會報以上錯誤。

  2、清理項目:

  

   Android項目中要經常clean項目,清除緩存和編譯,有時候常常因為緩存導致修改不生效。

三、拓展整理

  1、查了一些資料發現,android.app.Fragmentandroid.support.v4.app.Fragment兩個包:

  前者較為簡單,后者較為復雜,且兩個包的Fragment不兼容,不能混合使用,導錯了包就會引發運行錯誤。

  2、區別整理

   android.app.Fragment  android.support.v4.app.Fragment
 最低支持版本不同

 android:minSdkVersion="11"

即3.0版

 android:minSdkVersion="4"

即1.6版

 獲取方法不同  Fragmentmanager fragmentManager = getFragmentManager();  FragmentManager fragmentManager = getSupportFragmentManager()
 XML標簽的使用  可以使用<fragment>標簽  不能使用<fragment>標簽,會拋出android.view.InflateException: Binary XML file line #7: Error inflating class fragment異常


免責聲明!

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



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