android.support.v4.app.Fragment vs android.app.Fragment 的區別

舉個例子發表於2015-08-26

android.support.v4.app.Fragment vs android.app.Fragment 的區別

我開過平板相關應用,用了Fragment來處理。後來重新開發另外一個應用,直接引用了原來佈局和程式碼,

我用的是android.support.v4.app.fragment居然死活通過。總是報錯
“android.view.InflateException: Binary XML file line #7: Error inflating class fragment”

往下推還有提示
"Trying to instantiate a class cn.bluedrum.phone.CallPad that is not a Fragment"
at android.app.Fragment.instantiate(Fragment.java:585)

原來過的程式,現在不行,後來仔細看Android呼叫是android.app.Fragment的程式碼。後來把類改名Android.app.Fragment可以正常執行。但是不對啊,原來可以執行啊。後來解決問題,是細節上小問題,特此一記

一. android.app.Fragment的用法

android.app.Fragment 相容的最低版本是android:minSdkVersion="11" 即3.0版
這樣想支援較低版本比較難。

在Activity中找Fragment 用 可以用Activity 直接使用Fragment

二.android.support.v4.app.Fragment

android.support.v4.app.Fragment 相容的最低版本是android:minSdkVersion="4" 即1.6版
在Activity中找Fragment 用 fragment android.support.v4.app.Fragment 需要引入包android-support-v4.jar

使用android.support.v4.app.Fragment必須要在FragmentActivity 裡使用!開始的錯誤在Activity類中使用Fragment造成錯誤

相關文章