Fragment 之间传递数据
关于Fragment 之间的跳转这里就不再说了 有兴趣的可以看我的这边博客
Fragment 跳转 ,,,点击查看把
Fragment 跳转首先先跳转到宿主的Activity 上
这里以在同一个Activity 上2个Fragment 为例
第一种方法:
MainActivity main = (MainActivity) getActivity();main.setTabSelection(2);
这里用到了自己在MainActivity的切换Fragment的方法
然后在MainActivity case 为2 的地方直接写传递的数据
case 2:OrderMeFragment orderMeFragment = new OrderMeFragment();Bundle bundle = new Bundle();bundle.putString("str", "蓝天");orderMeFragment.setArguments(bundle);ordermeImage.setImageResource(R.mipmap.btn_tab_mine_selected);ordermeText.setTextColor(Color.parseColor("#5EC9FA"));if (orderMeFragment == null) {orderMeFragment = new OrderMeFragment();transaction.add(R.id.order_content, orderMeFragment);} else {transaction.show(orderMeFragment);}break;
这里传递了一个蓝天
然后在接受值的Fragment 里面 写一个onCreate 方法接受值如下
@Overridepublic void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);if (getArguments() != null) {String str = getArguments().getString("str");Log.e("----------str",str);}}
这样和我们Activity 之间的传值类似, 不过set 和get 存放值和接受值要注意下
第二种方法 使用 newInstance
1 同样的我们先获取宿主Activity
MainActivity main = (MainActivity) getActivity();main.setTabSelection(2);
然后到MainActivity 里面 case 里面 ,就是到切换Fragment的地方 传值
case 2:OrderMeFragment orderMeFragment = OrderMeFragment.newInstance(2);ordermeImage.setImageResource(R.mipmap.btn_tab_mine_selected);ordermeText.setTextColor(Color.parseColor("#5EC9FA"));if (orderMeFragment == null) {orderMeFragment = new OrderMeFragment();transaction.add(R.id.order_content, orderMeFragment);} else {transaction.show(orderMeFragment);}break;
这里写一个newInstance 里面传递一个int 为2的值
到要接受值的Fragment 里面填写如下
private int index;public static OrderMeFragment newInstance(int index) {OrderMeFragment df = new OrderMeFragment();Bundle bundle = new Bundle();bundle.putInt("index", index);df.setArguments(bundle);return df;}@Overridepublic void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);if (getArguments() != null) {index = getArguments().getInt("index");Log.e("-------index", String.valueOf(index));}}
这样我们就看一个看到接受的值了
当然还有EventBus 等之类的传值 ,不过能传值的还是不建议使用EventBus ,
Fragment 传值 需要先明白Fragment 的跳转问题 然后在传值就明白的多了
一般都是在Fragment的宿主Activity 里面写传递的值 ,不是同一个Activity Fragment 之间的传值也是类似这样
到切换Fragment的地方写传递的值。。。。。
Fragment 之间传递数据相关推荐
- android fragment面试,Android fragment之间传递数据的方式?
方法一: 1.在MainFragment中设置一个setData()方法,在方法中设置更改按钮名称; //MainFragment.java文件中public void setData(String ...
- Fragment之间传递数据的方式
1.直接调用另一个Fragent对象的方法,两个Fragment之间高度耦合 2.采取接口回调的方式进行数据传递.即在一个fragment中创建一接口以及接口对应的set方法,在另一个fagment中 ...
- android fragment传递数据,Android 两个Fragment之间传递数据实例详解
Android 两个Fragment之间如何传递数据 FragmentA启动FragmentB,做一些选择操作后,返回FragmentA,需要把FragmentB里面选择的数据传回来.有什么办法? F ...
- 三个activity之间跳转 数据传递_第二百四十二回:Android中Fragment之间的数据传递概述...
各位看官们大家好,上一回中咱们说的是Android中Activity之间数据传递的例子,这一回咱们说的例子是Fragment之间的数据传递.闲话休提,言归正转.让我们一起Talk Android吧! ...
- Android在片段之间传递数据
In this tutorial, we'll be developing an application that contains TabLayout, ViewPager and Fragment ...
- Activity与Fragment,以及Fragment与Fragment之间的数据通讯
Activity和Fragment无疑是Android开发中使用最多的组件,如果Activity使用了多个Fragment,需要在Activity与Fragment,以及Fragment与Fragme ...
- Android 之 Navigation在目的地之间传递数据、ViewModel
文章目录 Android 之 Navigation在目的地之间传递数据.ViewModel 一.在目的地之间传递数据 1. 定义目的地参数 2.使用 Safe Args 传递安全的数据 3.在目的地之 ...
- android 不同activity之间传递数据
1> 不同activity之间传递数据: Intent intent=new Intent(); intent.setClass(activity1.this,activity2.class); ...
- Vue父组件和子组件之间传递数据
Vue父组件和子组件之间传递数据 klmhly 已关注 2018.05.19 19:56* 字数 367 阅读 23评论 0喜欢 0 一.概念解析 挂载点: Vue实例的el属性对应的id,vue只会 ...
最新文章
- 【运维】详解 /etc/fstab
- KVM虚拟机相关步骤
- 五分钟让你的数据动起来,动态数据可视化极简教程
- jsp___jstl标签
- 苹果数据线不能充电_去掉耳机和充电器,以后数据线苹果也不会送了
- html打印纸张尺寸设置100*150,16开纸是多大?打印机如何设置16开纸张?
- c语言10k ntc 测温表,10KNTC热敏电阻对照表.doc
- 访问交流 | 成都市高新区领导团莅临零数科技考察指导
- 4501. 收集卡牌
- 【XSY2564】sequence(dp)
- Java常见运算符整理
- c++主线程和子线程
- python右键idel消失问题
- 路径正确下,Eclipse读取txt文件仍失败
- iDoctor李旭东:打造管理慢性病的平板电脑
- 康华医疗旗下康华医院道歉:生命不该用钱衡量,还曾是中植系
- 南开大学python编程基础_《Python编程基础》20春期末考核(参考答案)南开大学 答案...
- 树莓派微型计算机教程,一步即达——Lakka傻瓜教程
- Aandroid截屏遇到SurfaceView
- 视频教程-Flutter布局实战网易新闻客户端-flutter