您的位置:首页 > 移动开发 > Android开发

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

2015-07-02 10:33 881 查看
在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: