首页 > 学院 > 开发设计 > 正文

Activity和Fragment的通信

2019-11-09 16:54:15
字体:
来源:转载
供稿:网友
Activity和Fragment之间的通信,分为三种情况1、Actvity --> Fragemnt2、Fragment --> Activity3、Fragment --> Fragment
第一种:Activity --> Fragment调用FragmentManager的findFragmentById()的方法 得到Fragment,然后,可以直接调用Fragmet中的方法ReserverCarFragment reserverCarFragment = (ReserverCarFragment) getFragmentManager().findFragmentById(R.id.map_fragment_content);if (reserverCarFragment == null) {    getFragmentManager().beginTransaction().replace(R.id.map_fragment_content, new ReserverCarFragment()).commit();}
第二种:Fragment --> ActivitygetActivity()然后强制转换,可以直接调用Activity中的方法
第三种:Fragment --> Fragment通过getActivity()获取Activity实列,然后通过findFragmentById得到Fragment,注:这里需要使用的是getSupportFragmentManager中的findFragmentById()MainMapFragment mainMapFragment = (MainMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.fragment_content);mainMapFragment.addFragmentReserveOrder();
除了以上的通信方式,还可以使用EventBus来通信优点:代码方便,简洁缺点:耦合性太低了,接受和发送,都不知道从哪里来和发送到哪里去
上一篇:Lottie初探(一)

下一篇:火焰动画

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表