Android 中Fragment与Activity通信大汇总

本文总结了Android中Fragment与Activity的各种通信方式:通过Bundle传递数据、使用接口进行回调、直接访问Activity的public属性和方法,以及借助Activity进行Fragment间的通信。详细介绍了各个方法的实现步骤,提供了一个全面的参考。
摘要由CSDN通过智能技术生成

最近把跟小伙伴项目的一部分做完了,终于没借口偷懒了,今天就把Fragment与Activity之间通信做一个大汇总。
1、Activity与Fragment通信。
Activity向Fragemnt中传入数据时,通常将数据封装到一个Bundle对象中,通过setArguments()方法将对象传入启动的Fragment,在Fragment中,我们可以通过getAragument()方法获得bundle,解析出数据。
①封装bundle对象

        Fragment1 = new Fragment1();
        Bundle args = new Bundle();
        args.putInt("id", 1);
        Fragment1.setArguments(args);

②在Fragement中获取bundle

        Bundle bundle = getArguments();
        int id = bundle.getInt("id");

2、Fragment与宿主Activity通信
我们在Fragment中的onAttach声明一个接口,在宿主Activity中实现这个接口,当在Fragment中发生事件比如按钮点击事件,我们调用回调接口,宿主Activity就可以接收到该消息
①在Fragment中声明接口

public onCallBackListener onCallBackListener;
    public interface onCallBackListener{
   
        public 
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值