android中fragment和activity之间相互通信
来源:互联网 发布:广东榕泰怎么有云计算 编辑:程序博客网 时间:2024/05/22 02:23
在用到fragment的时候,老是会遇到一个问题,就是fragment与activity之间的通信。下面就来记录一下activity和fragment之间 通过实现接口来互相通信的方法。
1. activity 向fragment发出通信,就这么写:
private OnMainListener mainListener;
// 绑定接口
@Override
public void onAttachFragment(Fragmentfragment) {
try {
mainListener = (OnMainListener)fragment;
} catch (Exception e) {
throw newClassCastException(this.toString() + " must implementOnMainListener");
}
super.onAttachFragment(fragment);
}
// 接口
public interface OnMainListener {
public void onMainAction();
}
onMainAction方法是activity向fragment发出通信的方法,里面可以放参数, 在要发出通信的地方直接调用该方法即可。
在对应的fragment里面要这么写:
public class MyFragment extends Fragment implementsOnMainListener {
……………………
@Override
public voidonMainAction() {
//这里是实现通信的接口
}
2. fragment向activity 发出通信:(和前面差不多)
private OnFragmentListener mListener;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mListener = (OnFragmentListener) activity;
} catch (ClassCastException e) {
throw newClassCastException(activity.toString() + " must implement OnFragmentListener");
}
}
public interface OnFragmentListener {
public void onFragmentAction(intflag);
}
在activity中 实现接口:
publicclass MainActivityextendsActivityimplementsOnFragmentListener{
………………
// 实现接口方法
@Override
public voidonFragmentAction(int flag) {
//实现通信的接口
}
两者都是通过接口的实现来进行通信的,重要的地方就是分别在onAttachFragment和 onAttach方法中进行接口绑定。
通信还有其他方法的,比如广播、静态handler等,这里就不赘述了。
end~
- android中fragment和activity之间相互通信
- android中fragment和activity之间相互通信
- android中fragment和activity之间相互通信
- android中fragment和activity之间相互通信
- Fragment和Activity之间的相互通信
- Fragment和Activity之间的相互通信
- Android中Activity和Fragment之间的通信
- android中fragment与activity之间通信
- Android Fragment和Activity之间通信方式
- Activity 与 Fragment 之间相互通信
- Fragment与Activity之间的相互通信
- Fragment与Activity之间的相互通信
- Android中的Fragment ---- 04(Activity和Fragment之间的通信)
- Android中的Fragment ---- 05(Activity和Fragment之间的通信)
- Android 之在Activity中fragment相互通信
- android中Fragment与Activity之间通信原理以及例子
- android中fragment与activity之间通信原理以及例子
- android中fragment与activity之间通信原理以及例子
- 那些不能错过的XCode插件
- C 语言程序设计实践 3.6 EAX
- 小马哥-------高仿红米1s 红米 t470主板拆机主板图 电信版 高通芯片
- Oracle 将物理Standby库临时激活用于测试
- 第一篇:Hello World!
- android中fragment和activity之间相互通信
- STM32外部中断的使用
- iOS如何给图片加缓存
- 单片机小白学步系列(二十二) IO口:蜂鸣器的使用/三极管的工作原理
- C 语言程序设计实践 3.7 Judge
- USB 基本知识
- Eclipse打包Android项目时用到proguard.cfg后,出现的Warning:can't find referenced class问题的解决方案
- hdu 1839 Delay Constrained Maximum Capacity Path 二分+ spfa
- Codeforces Round #157 (Div. 2)D(数位DP+组合数)