作者:程序员小冰,GitHub主页:https://github.com/QQ986945193
新浪微博:http://weibo.com/mcxiaobing
大家知道,我们利用activity使fragment之间相互切换的时候,可能会遇到
activity中的值传送给某个fragment,就像activity跳转传值给另一个activity
所以,给大家说一下如何进行activity传值,fragment如何获得。
首先activity得代码是:
流程是:
(必须在fragmentTransaction.commit()之前完成):
1.创建一个fragment对象
2.创建一个Bundle 对象(其为键值对存储,可以理解为一个Map<K,V>): Bundle bundle = new Bundle();
3.向bundle中传值:bundle.putString("str","这是Activity传来的值");
4.将bundle通过setArguments(bundle)方法设置进fragment的对象:fragment的对象.setArguments(bundle);
详细代码是:
Fragment01 fragment = new Fragment01();
Bundle bundle = new Bundle();
bundle.putString("str","这是Activity传来的值");
fragment.setArguments(bundle);
fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fm01id,fragment01);
fragmentTransaction.commit();
然后下面是fragment中获取到activity所传来的值:
String str = (String)getArguments().get(“str”);
好了到此结束。你应该学会了activity如何传值到fragment。
Activity与Activity之间传值详解请看: