美文网首页
android.support.v4.app.Fragment和

android.support.v4.app.Fragment和

作者: 天天想念 | 来源:发表于2016-04-01 23:49 被阅读5737次

该行代码中提示报错,查了下原因,发现是导入错误宝导致。

FragmentNew fragmentNew = (FragmentNew) getFragmentManager()        .findFragmentById(R.id.fragment_news);

android.support.v4.app.Fragmentandroid.app.Fragment这两包的区别。
Fragment(碎片)是在3.0以后才出现的,Google为了兼容3.0以前的版本,使用了android.support.v4来兼容以前的SDK。

  • 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
    android.support.v4.app.Fragment使用 (ListFragment)getSupportFragmentManager().findFragmentById(R.id.userList) 获得 ,需要继承android.support.v4.app.FragmentActivity

  • 4.关于这两个fragment使用<fragment>标签的问题

  • app.fragment和v4.fragment都是可以使用<fragment>标签。只是在在使用的时候如果是app.fragment则没有什么特殊的地方继承Activity即可。
  • 当v4.fragment使用<fragment>标签的时候就要特别注意了:
    当这个Activity的布局中有<fragment>标签的时候,这个Activity必须继承FragmentActivity,否则就会报错。

Android Support兼容包
  • Support Library
    我们都知道Android一些SDK比较分裂,为此google官方提供了Android Support Library package 系列的包来保证高版本sdk开发的向下兼容性, 所以你可能经常看到v4,v7,v13这些数字,首先我们就来理清楚这些数字的含义,以及它们之间的区别。

  • 1.support-v4
    用在API lever 4(即Android 1.6)或者更高版本之上。它包含了相对更多的内容,而且用的更为广泛,例如:Fragment,NotificationCompat,LoadBroadcastManager,ViewPager,PageTabAtrip,Loader,FileProvider 等
    Gradle引用方法:

compile 'com.android.support:support-v4:21.0.3'

  • 2.support-v7
    这个包是为了考虑API level 7(即Android 2.1)及以上版本而设计的,但是v7是要依赖v4这个包的,v7支持了Action Bar以及一些Theme的兼容。
    Gradle引用方法:

compile 'com.android.support:appcompat-v7:21.0.3'

  • 3.support-v13
    这个包的设计是为了API level 13(即Android 3.2)及更高版本的,一般我们都不常用,平板开发中能用到,这里就不过多介绍了。

相关文章

网友评论

      本文标题:android.support.v4.app.Fragment和

      本文链接:https://www.haomeiwen.com/subject/zftylttx.html