Android:FragmentManager与FragmentTransaction

FragmentManager:用来管理Fragment的,利用Activity的getFragmentManager()取得它的实例.

FragmentManager可以做如下一些事情:

1、使用findFragmentById() (用于在activity layout中提供一个UI的fragment)或findFragmentByTag()(适用于有或没有UI的fragment)获取activity中存在的fragment

2、将fragment从后台堆栈中弹出, 使用 popBackStack()

3、使用addOnBackStackChangeListener()注册一个监听后台堆栈变化的listener.

FragmentTransaction:是对Fragment进行添加,替换,移除等操作的。

在使用add(),replace(),remove()时可以动态的给每一个Fragment添加一个标签,下次方便FragmentManager通过tag标签进行查找。最后记得ft.commit();
当执行一个移除fragment的事务时, 如果没有调用 addToBackStack(), 那么当事务提交后, 那个fragment会被销毁,并且用户不能导航回到它. 有鉴于此, 当移除一个fragment时,如果调用了 addToBackStack(), 那么fragment会被停止, 如果用户导航回来,它将会被恢复.我认为是重要的, 
以上的话,可以理解,remove后,加到堆栈后。按返回还是可以返回到之前的fragment。

FragmentManager myFragmentManager;
FragmentTransaction myFragmentTransaction = myFragmentManager.beginTransaction();
Fragment myFragment = new Fragment ();
myFragmentTransaction.replace(R.id.newFrameLayout, newFragment);
myFragmentTransaction.commit();

fragment的显示和隐藏可以用FragmentTransaction的show 或是hide来实现,
ft.show(fragment);
ft.hide(fragment);

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值