Fragment 与Activity Fragment传数据的方法

一.宿主Activity与Fragment传数据

1.在Fragment未创建之前可以将数据存入一个bundle中 通过setArguments(bundle)将bundle存入启动的Fragment中,在Fragment 的onCreatView中通过

getArguments(bundle)来获取到传入的数据。

2.在Fragment创建之后,可以在Fragment中声明一个public方法来在宿主Activity中调用传入数据。

二.Fragment与宿主Activity传输数据

通过声明一个内部回调接口,再由包含该Fragment的Activity来实现该接口宿主Activity

Fragment中实现接口:

public interface CallBack{
    public void getMsg(String msg);
}

public void getData( CallBack callBack){
    this.callBack = callBack;
}
 
在Activity中调用Fragment.getData(new CallBack(){
	public void getMsg(String msg){
		dosomething();
	}
});

之后Fragment通过事件来触发callBack.getMsg("msg");来讲数据回调给Activity


三.两个Fragment之间传数据

1.当其中有一个没有创建时通过传入bundle来创建

2.当两个Fragment都已经显示时如果fragment1要给fragment2传数据,则一通过接口回调先传数据给宿主Activity以后Activity再通过fragment2实现的public方法将数据传入。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值