關于android.support.v4.app.Fragment與android.app.Fragment的問題

這兩個版本的fragment是不會兼容的。也就是說要不就全用fragment,要不就全用v4 fragment,不能混搭著用。

1.最低支持版本不同

android.app.Fragment 兼容的最低版本是android:minSdkVersion="11" 即3.0版

android.support.v4.app.Fragment 兼容的最低版本是android:minSdkVersion="4" 即1.6版

2.需要導jar包

fragment android.support.v4.app.Fragment 需要引入包android-support-v4.jar

3.在Activity中取的方法不同

android.app.Fragment使用 (ListFragment)getFragmentManager().findFragmentById(R.id.userList)? 獲得? ,繼承Activity(這個僅僅需要繼承自最簡單的activity)

android.support.v4.app.Fragment使用 (ListFragment)getSupportFragmentManager().findFragmentById(R.id.userList) 獲得 ,需要繼承android.support.v4.app.FragmentActivity

4.我感覺最重要的,是XML標簽的使用

(1)app.fragment和v4.fragment都是可以使用標簽的,只是在在使用的時候如果是app.fragment則沒有什么特殊的地方繼承Activity即可。

(2)當v4.fragment使用標簽的時候就要特別注意了:

? ?當這個Activity的布局中有標簽的時候,這個Activity必須繼承FragmentActivity,否則就會報錯

java.lang.RuntimeException: Unable to start activity ComponentInfo{xxxx}: android.view.InflateException: Binary XML file line #9: Error inflating class fragment

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容