1.Fragment--->Activity传递数据:

在Fragment中创建接口,并在相应点击事件中调用接口内的方法onDataAction

//定义接口public interface  onFragment2ActivtyListener{    public void onDataAction(int data);//可以设置传递的数据}//声明private onFragment2ActivtyListener mOnFragment2ActivtyListener;@Overridepublic void onAttach(Context context) {    super.onAttach(context);    try {        //绑定接口   Fragment-->activity中在onAttach中绑定        mOnFragment2ActivtyListener = (onFragment2ActivtyListener) context;    } catch (Exception e) {    }}

之后在Activity中实现implements其接口onFragment2ActivtyListener,并实现其方法,完成Fragment--->Activity通信


2.Activity--->Fragment传递数据

在Activity中创建接口,并在相应点击事件中调用接口内的方法onDataAction

//定义接口public interface onActivity2FragmentListener{    public void onDataAction(int data);//可以添加其传递的数据}private onActivity2FragmentListener mOnActivity2FragmentListener;/** * 绑定接口 * @param fragment 一定要和传递数据的Fragment是同类包下的(v4 or app) */@Overridepublic void onAttachFragment(Fragment fragment) {    try {        mOnActivity2FragmentListener = (onActivity2FragmentListener) fragment;    } catch (Exception e){    }    super.onAttachFragment(fragment);}

之后在Fragment中实现implements其接口onFragment2ActivtyListener,并实现其方法,完成Activity--->Fragment通信

在此期间我遇到一个宿主Activity下有三个Fragment(利用hide/show方式展示)都实现了Activity内的接口,当activity内有个按钮点击需要将数据传递给Fragment中的某一个(方法中添加type),导致响应紊乱,都会在最后一个fragment创建之后,只在最后一个响应,我的解决办法是使用replace代替hide/show的方式;activity内点击事件,只会在replace的当前Fragment中响应,如若有更好的方式,希望小伙伴们留言~

烦请大家尊重原创者版权,转载请标明出处https://blog.csdn.net/JOYU_/article/details/80563865

更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  3. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  4. Ubuntu编译Android(安卓)KitKat 4.4出现Chromium gyp HashSet_jn
  5. Android(安卓)获取系统prop
  6. Android(安卓)源码分析-打电话和发短信
  7. [Android(安卓)Pro] Android权限设置android.permission完整列表
  8. android 使用 SQLiteOpenHelper 实现对SQLite数据库操作
  9. Android的ViewFlipper与GestureDetector

随机推荐

  1. Python 小技之 Office 文件转 PDF
  2. 7 个 JavaScript 新特性
  3. 你为什么选择程序员这个职业?
  4. 性能测试和自动化测试选哪个?
  5. 一场由SameSite字段引发的悲剧
  6. 还在为多张Excel汇总统计发愁?Python 秒处
  7. Spark Delta Lake 0.4.0 发布,支持 Python
  8. 一篇常做错的经典JS闭包面试题
  9. 2020年,那些已经死亡的公司
  10. Apache Spark 背后公司 Databricks 完成F