Fragment之间传递参数

看到一个经典的面试题:Fragment之间如何通讯?

这里特意总结一下:

  • 调用Fragment的setArgument方法;

android比较推荐的一种传递数据的方式,android API;

  • 通过静态方法传递参数;

这种方式比较简单明了,但是缺点是对多线程并发的支持,多线程下传递参数可能存在问题;

  • 通过事件总线框架传递参数(EventBus,Otto);

通过事件总线的方式传递参数,这种方式比较简单明了,但是缺点是如果项目比较大的话可能会使项目代码有些凌乱;

  • 通过getActivity方式获得activity进而传递参数;

一种比较取巧的传递参数方式,比较推荐这种方式,但是需要注意的是一定要判断getActivity的返回值是否为空;

  • 通过广播的方式传递;

这种方式可能比较复杂,通过这种方式可能有些杀鸡用牛刀的赶脚;

  • 通过接口回调的方式传递;

需要自定义接口回调函数,书写上比较复杂,但是简单实用;

以上就是Fragment之间传递参数的几种方式,个人比较推荐使用事件总线框架的方式,比较优雅和简单;

你可能感兴趣的:(Fragment之间传递参数)