关于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

你可能感兴趣的:(关于android.support.v4.app.Fragment与android.app.Fragment的问题)