在用到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~
文章来源:http://www.itnose.net/detail/6034784.html
更多文章:http://www.itnose.net/type/85.html
相关推荐
例子主要包括Fragment与Activity之间的通信,代码中还给出了两者之间通信具体调用的函数及其顺序。
在开发过程中不可避免的会出现fragment与fragment,fragment与activity之间的通信交互问题。 本章讲述如何实现fragment与activity之间的通信。 一、APP构成 MainActivity+底部导航栏; 二、通信目的 MainActivity中...
其中,fragment与Activity通信就是一个。 fragment与Activity通信主要是两点: 1、fragment传递信息给Activity 此点是通过在fragment中定义接口与Activity共享数据。 2、Activity传递信息给fragment 此点主要是通过...
Android Fragment与Activity之间的相互通信 前言 自从Android3.0引入Fragment之后,主要是为了支持动态灵活的界面设计和屏幕的适配问题。Fragmenty不能单独存在,必须依赖Activity作为视图展示的一部分,同事它具有...
Activty中两个Fragment之间的通信
简单实现frgment发送消息,activity接收。activity发送消息,frgment接收。
Fragment跟Activity通信和交互 碎片跟Activity交互和通信 此为示例代码,详细讲解请参考博文: http://blog.csdn.net/xiaoyuan511 如对资源内容有疑问,请到博客中留言。
Fragment 之间的切换,与Activity之间的数据传递,实现基本的功能
Android 中Fragment与Activity通讯的详解 与activity通讯 尽管fragment的实现是独立于activity的,可以被用于多个activity,但是每个activity所包含的是同一个fragment的不同的实例。 Fragment可以调用getActivity...
其中,fragment与Activity通信就是一个。 fragment与Activity通信主要是两点: 1、fragment传递信息给Activity 此点是通过在fragment中定义接口与Activity共享数据。 2、Activity传递信息给fragment 此点主要是通过...
在之前的博文中简单介绍过如何实现fragment之间的信息交互:《Android中Fragment与Activity之间的交互(两种实现方式)》,今天继续给大家介绍一种可以实现此效果的另外一种方式EventBus。(相比于handler,接口回调...
Android开发中Activity和Fragment的通信方式分析.pdf
一个简单的Fragment通信例子, 实现的功能是点击FragmentA的按钮之后,生成FragmentB
在Android中,Activity主要负责前台页面的展示,Service主要负责需要长期运行的任务,所以在我们实际开发中,就会常常遇到Activity与Service之间的通信,我们一般在Activity中启动后台Service,通过Intent来启动,...
Fragment是为了解决不同屏幕分辩率的动态和灵活UI设计,本案例实现了简单创建案例的方法
这个例子是一个同一Activity下存在多个Fragment,并且多个Fragment之间存在信息交互传递的小程序,送给有需要的朋友。
谷歌官方对Android中Fragment 动态构建UI的讲解,包括Fragment之间和Fragment与Activity之间的Communication.
由于在android的实现机制中fragment和activity会被分别实例化为两个不相干的对象,他们之间的联系由activity的一个成员对象fragmentmanager来维护.fragment实例化后会到activity中的fragmentmanager去注册一下,这个...
为了重用Fragment UI 组件,在设计中你应该通过定义每一个fragemnt自己的layout和行为,让fragment的自包含和模块化。一旦你定义了这些可重用的...为了允许fragment和它的Activity通信,你应该fragment类中定义一