Activity,Fragment互相调用几种写法,
来源:互联网 发布:手机p正装照软件 编辑:程序博客网 时间:2024/06/06 02:02
一,Fragment操作acitivity中控件或者给acitivity传值,
1,官方推荐写法,接口回调
Fragment中的写法:
private OnFragmentInteractionListener mListener; @Override public void onAttach(Context context) { super.onAttach(context); if (context instanceof OnFragmentInteractionListener) { mListener = (OnFragmentInteractionListener) context; } else { throw new RuntimeException(context.toString() + " must implement OnFragmentInteractionListener"); } } @Override public void onDetach() { super.onDetach(); mListener = null; } public interface OnFragmentInteractionListener { // TODO: Update argument type and name void onFragmentInteraction(String data); }
对应依附的activity写法:
实现上面的接口即可;
在Fragment调用接口里面的方法即可控制activity中的控件或者传值给acitivity,
2,强制类型转换法
Activity写法:
在Activity中创建一个public方法:
public void fragmentChangeAcitivity(String data){ //操作acitivity }Fragment写法:
在你需要给acitivity传值的位置执行下列代码:
if (getActivity()!=null){ ((绑定的acitivity)getActivity()).fragmentChangeAcitivity("值"); }即可控制acitivity
3,三方库,Eventbus实现,具体怎么实现百度Eventbus用法
4,自定义观察者模式
5,广播
6,将Activity中的对应控件命名成静态。
总结,推荐使用第1中方法,官方写法,解耦最好。第2种方法写起来最简单,第3中写法见仁见智,第4,5种写法大材小用了,第6种写法,这么说吧,最不推荐。
二,Activity控制Fragment或者修改Fragment的控件的值,这个就简单多了,这个跟上面的第2点写法基本一样,在Fragment中定义一个public方法,然后调用该方法既可以,但要判断一下Fragment的控件是不是为空。
Fragment写法:
public void activityChangeFragment(String data){ //传值,或者修改控件的值// if(控件!=null){// 对应操作// } }
Activity写法:
//对应Fragment.activityChangeFragment(String data);即可
阅读全文
0 0
- Activity,Fragment互相调用几种写法,
- Fragment跟Activity之间的通信(互相调用方法)
- Activity的几种写法
- 获取activity的几种写法
- Android中接口的回调,Activity或Fragment与普通类之间的互相调用
- Fragment调用Activity
- Fragment 中调用 activity
- Fragment 调用Activity onKeyDown()
- Android Fragment和Activity互相通讯
- Android Fragment和Activity互相通讯
- Android fragment 与Activity 互相传值。
- Fragment调用Activity中的方法
- fragment调用Activity中的方法
- Activity+fragment+ViewPager方法调用
- Ajax调用后台方法的几种写法(一)
- Ajax调用后台方法的几种写法(一)
- android Fragment与Activity交互,互相发数据(附图详解)
- Fragment的生命周期以及跟Activity之间互相传值小总结
- CSS RESET
- CC2640R2F BLE5.0 蓝牙协议栈通用属性配置文件(GATT)
- CXF部署到weblogic
- Android进程保活招式大全
- Visual Sutdio 安装reshaper免激活
- Activity,Fragment互相调用几种写法,
- Maximum Product of Three Numbers
- HDU 4609 快速傅里叶变换
- 自学struts时,javax.servlet.ServletException: java.lang.NullPointerException
- 关于Installation error: Unknown failure错误
- 压缩感知测量矩阵构造方法研究
- storm集群部署和配置过程详解
- 【怎样写代码】对象克隆 -- 原型模式(一):问题案例
- node.js将图片数据转换成base64位的字符串