Activity与Fragment数据传递之Fragment之间获取数据 分类: ...

   在Activity中加载Fragment的时候,有时要使用多个Fragment切换,并传值到另外一个Fragment,也就是说两个Fragment之间进行参数的传递,有两种实现方法:一种是通过共同的Activity传递、这种方法是在Activity里面添加一个字段、来临时保存要一些值,Fragment的API提供了另外一个方法来传递,就像Activity一样便捷的实现参数传递程序中的一段代码,是通过Bundle来传递的。相比之下第一种方法要简单一点。


法一:在Activity中定义一个字段、然后添加set和get方法、代码如下、mTitle就是要传递的参数、如果是传递对象、可以把mTitle换成一个对象即可。
public class DemoActivity {

	private String mTitle;
	
	public String getmTitle() {
		return mTitle;
	}

	public void setmTitle(String title) {
		this.mTitle = title;
	}

}

Fragment调用方法、需要注意的是在设值的时候要进行强转一下。

((DemoActivity)getActivity()).getmTitle();

法二:可以使用bundle进行参数传递、这样在两个Fragment跳转的时候就可以带上参数了、同样也可以传递一个复杂的对象。
ft.hide(getActivity().getSupportFragmentManager().findFragmentByTag(""));
	DemoFragment demoFragment = new DemoFragment();  
	Bundle bundle = new Bundle();  
	bundle.putString("key", "这是方法二");  
	demoFragment.setArguments(bundle);  
	ft.add(R.id.fragmentRoot, demoFragment, SEARCHPROJECT);  
	ft.commit();  

在另外一个Fragment获取参数的方式只需要一个语句、key是自己定义的一个标识、参数的形式只要bundle能传递都可以实现。

String string = getArguments().getString("key"); 

参考代码:

http://download.youkuaiyun.com/detail/u010963246/8861645

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/xieping/p/4666308.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值