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
版权声明:本文为博主原创文章,未经博主允许不得转载。