国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android中使用開源框架eventbus3.0實現fragment之間的通信交互

2019-12-12 03:40:36
字體:
來源:轉載
供稿:網友

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="ŋ

主站蜘蛛池模板:
罗江县|
兴宁市|
阳江市|
沂源县|
肃宁县|
新巴尔虎左旗|
惠东县|
仙游县|
突泉县|
龙胜|
泰顺县|
平谷区|
石城县|
黔江区|
中卫市|
军事|
长治市|
镶黄旗|
临洮县|
茶陵县|
克什克腾旗|
福清市|
大理市|
新宁县|
大化|
繁峙县|
增城市|
伊金霍洛旗|
紫金县|
龙南县|
绩溪县|
涟水县|
霍山县|
棋牌|
洪雅县|
高邮市|
仁化县|
嘉祥县|
昌邑市|
黄石市|
威信县|