Fragment向下兼容

Fragment是3.0版本出现的,为了兼容3.0以下的版本该怎么办呢?

android-support-v4.jar就是用来解决这个问题的

将建立FragmentManager时导入的包从 android.app包 变为v4包

FragmentTransaction也一样,导v4包

这时,fm = getFragmentManager();会报错 ft.replace(R.id.content, new Fragment1());也报错

因为这个方法在v4包下是不存在的,解决办法是MainActivity继承FragmentActivity

然后fm = getSupportFragmentManager();

同时,你建立的所有的Fragment类也需要导入V4包而不是app包,这时,ft.replace(R.id.content, new Fragment1())报错消失。

MainActivity 需要extends FragmentActivity

说白了,要想支持低版本,需要所有Fragment包都是导入v4支持包的。


你可能感兴趣的:(Fragment向下兼容)