Android Fragment 动态、静态切换

Fragment是一个使界面充分利用的控件,它和Activity关联,减少了Activity的使用。

目前有两种版本的Fragment:

1:android.app.Fragment 兼容的最低版本是android:minSdkVersion=”11” 即3.0版
2:android.support.v4.app.Fragment 兼容的最低版本是android:minSdkVersion=”4” 即1.6版

在这里我们建议使用第二个版本,因为它的兼容性更强。这里要特别注意,两种版本的Fragment不能混合使用,不然会报错,也就是说在同一个项目只能存一种。

今天就来个大家介绍一下Fragment的切换。

Fragment切换分为动态和静态。

那么怎么区分两者呢?动态切换就是每次Fragment切换的时候都会重新加载Fragment,也就是说Activity初始化的时候没有加载所有Fragment;二静态切换就是Activity初始化的时候会加载所有的Fragment,用户可以随意切换,只需设置Fragment的显示和隐藏就可以了,不需要再重新加载。

动态切换:(适合地方:用户点击频率低)

fragmentManager = getSupportFragmentManager();
transaction = fragmentManager.beginTransaction();
findFragment = new FindFragment();
//messageFragment = new MessageFragment();//用的时候再初始化
//myInfoFragment = new MyInfoFragment(); //用的时候再初始化
transaction.replace(R.id.id_content, findFragment);
transaction.commit();

静态切换(适合地方:用户点击频率高)

fragmentManager = getSupportFragmentManager();
transaction = fragmentManager.beginTransaction();
findFragment = new FindFragment();
transaction.add(R.id.id_content, findFragment);
messageFragment = new MessageFragment();
transaction.add(R.id.id_content, messageFragment);
myInfoFragment = new MyInfoFragment();
transaction.add(R.id.id_content, myInfoFragment);  transaction.show(findFragment).hide(messageFragment).hide(myInfoFragment);
transaction.commitAllowingStateLoss();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值