在用到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之间的通信是Android开发中常见的需求,特别是在创建复杂、动态布局时。本实例将深入探讨这一主题,讲解如何在Fragment和Activity之间有效地传递数据和执行操作。 首先,让我们了解Fragment和...
在开发过程中不可避免的会出现fragment与fragment,fragment与activity之间的通信交互问题。 本章讲述如何实现fragment与activity之间的通信。 一、APP构成 MainActivity+底部导航栏; 二、通信目的 MainActivity中...
在Android应用开发中,Fragment和Activity是构成用户界面的基本组件。Fragment可以理解为一个可重用的UI模块,而Activity则是承载...通过分析和运行这样的示例,开发者可以更好地掌握Fragment和Activity通信的细节。
在Android应用开发中,...总结来说,Fragment和Activity之间的通信是Android开发中的重要技能,理解并熟练掌握这些通信方式有助于构建高效、可扩展的应用程序。在实际开发中,要根据项目需求和最佳实践选择合适的方法。
理解Fragment及其与Activity之间的通信对于开发高效且灵活的Android应用至关重要。 首先,Fragment的生命周期与Activity紧密关联。Fragment有自己的onCreate(), onCreateView(), onStart(), onResume()等方法,这...
总之,Fragment和Activity之间的交互是Android应用开发中的常见任务。理解并熟练掌握它们的通信机制、生命周期管理和协作方式,对于构建复杂的用户界面至关重要。在实际项目中,灵活运用各种通信手段,可以提高代码...
在这个小Demo中,我们将深入探讨如何在Fragment和Activity之间进行通信。 首先,理解Fragment和Activity的关系。一个Activity可以包含一个或多个Fragment,而Fragment也可以通过嵌套的方式包含其他Fragment。它们...
1. **使用接口**:与Fragment和Activity通信类似,两个Fragment可以通过定义接口,互相调用对方的方法来通信。这种方法需要确保接口的生命周期管理正确,防止内存泄漏。 2. **通过Activity中转**:两个Fragment可以...
Fragment与Activity之间的通信是Android开发中的常见任务。有多种方式可以实现这种通信,如通过方法回调、使用Bundle、事件总线等。本文将重点讲解使用setArguments方法传递数据。 setArguments()是Fragment类的一...
总结来说,Handler是Android中实现线程间通信的重要机制,它在Fragment和Activity的交互中扮演着关键角色。正确理解和使用Handler能帮助开发者构建高效、稳定的Android应用程序。在实际开发中,还应结合其他通信方式...
在Android应用开发中,Activity和Fragment是两个核心组件,它们之间的通信以及Fragment之间的通信是构建复杂用户界面的关键。本文将详细探讨Activity与Fragment、Fragment与Fragment之间如何有效地进行通信。 一、...
当一个Activity中存在多个Fragment时,它们之间的通信是必不可少的,以便协同工作,提供良好的用户体验。本篇将详细探讨Fragment与Fragment以及双Fragment之间的通信机制。 首先,了解Fragment的基本概念:Fragment...
在现代Android开发中,推荐使用ViewModel和LiveData配合Fragment和Activity进行数据通信。ViewModel能跨过配置改变保留数据,LiveData则提供了观察者模式,使数据能在Activity和Fragment之间实时同步。 总结来说,...
在Android应用开发中,Fragment和Activity是两个核心组件,它们共同构建了用户界面。Fragment可以理解为Activity的一部分,可以在不同的Activity之间复用,也可以在同一个Activity内动态添加或移除。本篇将深入探讨...
在Android应用开发中,Fragment和Activity是两个核心组件,它们之间的有效交互对于构建复杂的用户界面至关重要。Fragment可以看作是Activity的一部分,具有自己的生命周期,并可以在Activity中动态添加、移除或替换...
Android Fragment与Activity之间的相互通信 前言 自从Android3.0引入Fragment之后,主要是为了支持动态灵活的界面设计和屏幕的适配问题。Fragmenty不能单独存在,必须依赖Activity作为视图展示的一部分,同事它具有...
在"FragmentActivityͨѶ"这个文件中,应该包含了上述示例的完整代码,你可以下载后在Android Studio中运行,以更好地理解这一通信机制。同时,"说明.txt"文件可能提供了关于如何运行和测试这个例子的详细步骤。
在Android应用开发中,Fragment和Activity是两个核心组件,它们共同构建了用户界面。Fragment代表一个可重用的UI部分,而Activity则是程序中的一个窗口,它可以包含一个或多个Fragment。有时,我们需要在Fragment和...
4. **调用接口方法**:在Fragment中,当需要与Activity通信时,直接调用接口中定义的方法。例如,在按钮点击事件中,调用`mEventListener.onButtonClicked()`。 ```java button.setOnClickListener(new View....