子fragment获取父activity中的数值

写这个博客的缘由是一个同学问我一个问题activityA传递数据到activityB,然后activityB中的fragment想获取这个数据咋办,其实我之前碰到过类似的使用场景,时间比较久远,想着还是归纳一下。

1、getActivity()调用父布局context获取实例
其实比较简单,就是在activityB中写一个方法用public修饰可见,将数据赋值返回这个参数,在fragment中getActivity()获取到activity的实例强制转换为actvityB,然后调用方法,得到参数。这是我觉得理所当然的方法。。。

  1、activityB中的代码片
     public int test(){
      //将参数赋值返回
      return param;
     }
  2、fragment中的代码片
     (activityB)getActivity() act=new activityB();
     int param=act.test();

2、使用bundle,fragment有个setArguments(bundle)的方法,可以传递数据。推荐使用的方法,这个才是activity向fragment传递数据的正确打开方式。

1、activity传递给fragment数据的方法,通过setArauments就可以了,传递的是bundle数据包。

这里写图片描述

  2、fragment中只要getArguments()就可以得到这个bundle了。

这里写图片描述

目前我就用这个方式来进行fragment与activity的交互的方法了。这个是基础基础基础。当然网上还写了可以使用handler进行交互,还有通过接口的方式,但是还是getArguments()的方法比较纯正。欧了,水了一篇

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值