两个fragment之间数据传输

本文介绍三种Fragment间数据传递的方法:使用事务替换加载新的Fragment并附带数据;通过定义接口并在MainActivity中实现数据传递;在MainActivity中定义字段并提供set/get方法以实现FragmentA到FragmentB的数据传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近要折腾两个fragment之间传数据的问题,在网上看了很多文章,基本都是使用两种方法:

1,两个fragment之间使用getFragmentManager().beginTransaction().replace(R.id.realtabcontent(容器), myJDEditFragment(要跳转的fragment))addToBackStack(null).commit();

然后用Bundle添加数据传递过去。

2,定义接口传递,用MainActivity作为中介,fragmentA———Main__Activity----fragmentB

3,就是我现在要说的一种,也是用MainActivity作为中介,在MainActivity里面定义字段,添加set和get的方法,fragmentA调用set方法,fragmentB调用get的方法传递数据


MainActivity :(定义字段)

public class MainActivity extends Activity {

private String path;

public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}

}


fragmentA:(设置数据)

public classfragmentA {

((MainActivity) getActivity()).setPath(path);

}


fragmentB:(获取数据)

public classfragmentB{

((MainActivity) getActivity()).getPath(path);

}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值