【Android】回退栈

#一、什么是回退栈
Activity切换时是通过栈的形式,不断压栈出栈,在Fragment的时候,如果你不是手动开启回退栈,它是直接销毁再重建,但如果将Fragment任务添加到回退栈,情况就会不一样了,它就有了类似Activity的栈管理方式。
#二、回退栈的使用
fragment跳转的封装

    public void startToFragment(Context context, int container, Fragment newFragment) {

        FragmentManager manager = getFragmentManager();
        FragmentTransaction transaction = manager.beginTransaction();
        transaction.replace(container, newFragment);
        transaction.addToBackStack(context.getClass().getName());
        transaction.commit();
    }

##1.fragment1 --> fragment2

       Fragment2 fragment2 = new Fragment2 ();
	   startToFragment(getActivity(), R.id.layout_container, fragment2 );

##2.fragment2 --> fragment1

getActivity().getFragmentManager().popBackStack();

##3.fragment2 --> fragment3

      Fragment3 fragment3 = new Fragment3 ();
      startToFragment(getActivity(), R.id.layout_container, fragment3 );

##4.fragment3 --> fragment1

   //回退栈中某个Fragment之上的所有Fragment
   FragmentManager fragmentManager = getFragmentManager();
   fragmentManager.popBackStackImmediate(
   MainActivity.class.getName(), FragmentManager.POP_BACK_STACK_INCLUSIVE);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值