第5天Fragment高级进阶

一.Fragment的回退栈

FragmentManager manager = getSupportFragmentManager();
                FragmentTransaction transaction = manager.beginTransaction();           
                if(oneFragment == null){
                    oneFragment = new OneFragment();
                }

                transaction.replace(R.id.frame,oneFragment);
                //添加到回退栈
                transaction.addToBackStack("oneFragment");
                transaction.commit();

在这里插入图片描述

二.使用handler实现fragment多方通信

1.fragment給fragment传值:two传值给three

  • 第1步:activity中为fragment设置tag在这里插入图片描述
  • 第2步:ThreeFragment接受数据
    在这里插入图片描述
  • 第3步:TwoFragment发送数据
    在这里插入图片描述

2.fragment給activity传值

  • 第1步:activity接受数据
    在这里插入图片描述

  • 第2步:fragment发送数据
    在这里插入图片描述

二.使用接口回调实现fragment多方通信

0.定义接口在这里插入图片描述

2.接收方acctivity和ThreeFragment实现接口

在这里插入图片描述

在这里插入图片描述

3.TwoFragment中发送方发送数据

在这里插入图片描述

三.案例实现

在首页选择商品,分别使用Handler和接口把商
品添加到购物车,在购物车Fragment里接受数据
在这里插入图片描述

四.多个fragment嵌套

在这里插入图片描述

在这里插入图片描述
父容器:管理3个fragment.
getSupportFragmentManager() 上下文的方法
btn1----->Fragment1
btn2----->Fragment2
btn3----->Fragment3

Fragment1子容器:管理3个fragment.
getChildFragmentManager() Fragment的方法
btn4---->fragment4
btn5---->fragment5
btn6---->fragment6

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值