一、問題記錄
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.Fragment和android.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異常 |