Fragment 之间传递数据
发布日期:2021-06-30 08:02:17
浏览次数:3
分类:技术文章
本文共 2770 字,大约阅读时间需要 9 分钟。
关于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 方法接受值如下
@Override public 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; } @Override public 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的地方写传递的值。。。。。
转载地址:https://huxiaomu.blog.csdn.net/article/details/100302413 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月14日 09时55分22秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
学习笔记(04):一学即懂的计算机视觉(第一季)-计算机视觉方向知识体系结构...
2019-04-30
学习笔记(05):一学即懂的计算机视觉(第一季)-学了视觉可以做什么
2019-04-30
学习笔记(06):一学即懂的计算机视觉(第一季)-有光即有世界:照明模型
2019-04-30
学习笔记(08):一学即懂的计算机视觉(第一季)-实战演练:颜色空间分解
2019-04-30
学习笔记(09):一学即懂的计算机视觉(第一季)-最浅显的卷积与滤波概念讲解!...
2019-04-30
学习笔记(10):一学即懂的计算机视觉(第一季)-图像平滑滤波与去噪
2019-04-30
学习笔记(11):一学即懂的计算机视觉(第一季)-数学形态学滤波
2019-04-30
学习笔记(12):一学即懂的计算机视觉(第一季)-实战演练:图像平滑滤波对比...
2019-04-30
学习笔记(14):一学即懂的计算机视觉(第一季)-Canny算子
2019-04-30
学习笔记(15):一学即懂的计算机视觉(第一季)-程序示例
2019-04-30
学习笔记(16):一学即懂的计算机视觉(第一季)-数学形态学扩展应用
2019-04-30
学习笔记(20):一学即懂的计算机视觉(第一季)-图像变换有什么用?
2019-04-30
学习笔记(21):一学即懂的计算机视觉(第一季)-灰度直方图
2019-04-30
学习笔记(22):一学即懂的计算机视觉(第一季)-霍夫变换
2019-04-30
学习笔记(23):一学即懂的计算机视觉(第一季)-图像变换实战演练
2019-04-30
学习笔记(26):一学即懂的计算机视觉(第一季)-为什么要图像分割?
2019-04-30
学习笔记(27):一学即懂的计算机视觉(第一季)-基于灰度直方图的阈值分割
2019-04-30
学习笔记(28):一学即懂的计算机视觉(第一季)-灰度阈值分割实战演练
2019-04-30
学习笔记(31):一学即懂的计算机视觉(第一季)-区域生长算法
2019-04-30
学习笔记(32):一学即懂的计算机视觉(第一季)-分水岭算法
2019-04-30