代码改变世界

fragment使用的错误

2015-01-14 23:27  playerboy  阅读(512)  评论(0编辑  收藏  举报

要注意的是fragment其实是有两个版本的,一个是

import android.support.v4.app.Fragment; 

另外一个是

import android.app.Fragment; 

这两个版本的fragment是不会兼容的。也就是说要不就全用fragment,要不就全用v4 fragment,不能混搭着用。

在这里我强烈建议初学者用第二个,也就是简单的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标签的使用 

android.app.Fragment可以使用<fragment>标签的,这点很重要,如果是用android.support.v4.app.Fragment的话,是不能是用<fragment>标签的,会抛出android.view.InflateException: Binary XML file line #7: Error inflating class fragment异常。

因为这个标签的使用还是比较简单的,所以还是比较倾向前者