前言
fragment 和 activity 间的交互之前已经讲过了,这篇文章我们来讲讲 Fragment 和 fragment 间传值的问题。
今天的内容有:
- 概述Fragment与Fragment之间传值的几种方式
- Fragment通过bundle跳转传值
- 通过Fragment对象传值
- 通过activity,利用回调传
- 其他方式的一些想法
先看下效果吧
一.Fragment与Fragment之间传值的几种方式
经过一些个人总结,Fragment给Fragment传值,已知的方式有以下三种:
- Fragment向另一个Fragment跳转时,用bundle传值
- 在当前Fragment界面获取另一个fragment的对象,然后用这个Fragment对象调用其内部控件或公开方法获得值
- 以Activity为中介,先将fragment的值传到activity,然后让activity把这个值传到另一个fragment中去
下面对这些传值方式做具体讲解。
二.Fragment通过bundle跳转传值
我先封装了一个跳转Fragment界面的方法startFragment(int containerId, Context context, String tag, Bundle bundle, OnCreateFragmentListener listener),此方法在FragUtil中,现在看看FragUtil代码: