`
qq986945193
  • 浏览: 80006 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

作者:程序员小冰,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之间传值详解请看:
http://blog.csdn.net/qq_21376985/article/details/51250460

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics