Activity与Fragment数据传递之Fragment之间获取数据 分类: Android 2015-07-02 10:33 11人阅读 评论(0) 收藏

   在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.csdn.net/detail/u010963246/8861645

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

posted @ 2015-07-02 10:33  xiexie2015  阅读(170)  评论(0编辑  收藏  举报