首页 > 其他分享 >【Android】安卓开发之activity如何传值到fragment,activity与fragment传值

【Android】安卓开发之activity如何传值到fragment,activity与fragment传值

时间:2022-11-02 12:03:57浏览次数:88  
标签:fragment Bundle bundle activity fragmentTransaction 传值


作者:程序员小冰,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之间传值详解请看:


标签:fragment,Bundle,bundle,activity,fragmentTransaction,传值
From: https://blog.51cto.com/mcxiaobing/5816157

相关文章