Android中使用eventbus3.0实现fragment通信
今天就跟大家聊聊有关Android中使用eventbus3.0实现fragment通信,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
1.概述
在之前的博文中简单介绍过如何实现fragment之间的信息交互:《Android中Fragment与Activity之间的交互(两种实现方式)》,今天继续给大家介绍一种可以实现此效果的另外一种方式EventBus。(相比于handler,接口回调,bundle传参,这个简单好用到哭)
EventBus是Android下高效的发布/订阅事件的消息总线。作用是可以代替传统的Intent,Handler,Broadcast或接口函数在Fragment、Activity、Service、线程之间传递数据进行通信,执行方法。做为消息总线,有三个主要元素:
(1)Event:事件
(2)Subscriber:事件订阅者,接受特定的事件
(3)Publisher:事件发布者,用于通知Subscriber有事件发生
结合EventBus以上的三个元素,我们也可以称其为一种观察者设计模式。
EventBus 官网链接http://greenrobot.org/eventbus/
EventBus GitHub链接https://github.com/greenrobot/EventBus
前期相关博文链接:
Android中Fragment与Activity之间的交互(两种实现方式)
Android中Fragment的两种创建方式
2.Demo示例
(1)示例中左侧的按钮,潘侯爷与碧空海触发的事件为EventBus的普通事件发布
(2)左侧粘性事件按钮发布的为粘性事件
3.实现步骤
本次Demo架构:
3.1导依赖包
使用AndroidStudio2.2。仍然采用在build.gradle下中dependencies下直接添加如下代码:
compile 'org.greenrobot:eventbus:3.0.0'
同步后完成依赖添加。
3.2布局文件
(1)layout中主布局文件,activity_main.xml文件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" tools:context="com.mly.panhouye.eventbustest.MainActivity"> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical" android:background="#6f6669"> <Button android:layout_gravity="center_horizontal" android:id="@+id/panhouye" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ŋ" /> <Button android:layout_gravity="center_horizontal" android:id="@+id/bikonghai" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="̿պ" /> <Button android:layout_gravity="center_horizontal" android:id="@+id/postSticky" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ճДʂ" /> </LinearLayout> <FrameLayout android:id="@+id/framelayout" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="2"></FrameLayout></LinearLayout>
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
Android中使用eventbus3.0实现fragment通信
下载Word文档到电脑,方便收藏和打印~
猜你喜欢
Android中使用eventbus3.0实现fragment通信
Android中使用开源框架eventbus3.0实现fragment之间的通信交互
Android应用开发中Fragment间通信的实现教程
Android studio 微信APP之Fragment中使用ReclerView
Android中使用Expandablelistview实现微信通讯录界面
Android应用开发中Fragment与Activity间通信示例讲解
Android使用TabLayout+Fragment实现顶部选项卡
Android App中使用ViewPager+Fragment实现滑动切换效果
使用Broadcast实现Android组件间的通信
Android中socket通信简单实现
怎么在Android中使用AIDL实现进程间通信
Android中使用socket使底层和framework通信的实现方法
Android中socket通信的简单实现
Android中怎么实现蓝牙通信
Android App在ViewPager中使用Fragment的实例讲解
Android中怎么利用socketpair实现双向通信
Android中怎么实现进程间通信
Android中如何使用RadioGroup和Fragment实现底部导航栏的功能
编程热搜
Python 学习之路 - Python
一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-chatgpt的中文全称是什么
chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列C/C++可变参数的使用
可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃Python 3 教程
Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 PythonPython pip包管理
一、前言 在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install 和 pip , 目前官方推荐使用 pip。
编程资源站
- 资料下载
- 历年试题