js捕捉下拉到底部
1209
2025-03-31
文章目錄
一、EventBus 事件總線框架簡介
二、EventBus 使用流程
一、EventBus 事件總線框架簡介
Android 中的事件傳遞機制 :
使用 Intent 在組件間傳遞信息 ;
使用 BroadcastReceiver 跨進程傳遞數據 ;
使用 Handler 跨線程通信 ;
使用 接口回調 機制 , Activity 與 fragment 之間的通信方式 ;
EventBus 事件總線框架
簡化了
Android 中的事件傳遞機制 ;
EventBus 常用于 組件 間的事件傳遞 , 實現了各個組件間的通信 , 如 Activity 與 fragment 之間的通信 , Activity 與 Service 之間的通信 ;
EventBus GitHub 地址 : https://github.com/greenrobot/EventBus
EventBus 文檔 : https://greenrobot.org/eventbus/Documentation/
二、EventBus 使用流程
參考 https://github.com/greenrobot/EventBus 中的使用步驟 ;
1 . 導入 EventBus 依賴 ;
implementation 'org.greenrobot:eventbus:3.2.0'
1
2 . 聲明 EventBus 事件處理方法 ; 使用 @Subscribe 注解修飾處理消息的方法 , 該方法必須是 public void 修飾的 , 只有一個參數 , 參數類型隨意 , 調用 EventBus.getDefault().post 即可發送消息到該方法進行處理 ;
/** * 使用 @Subscribe 注解修飾處理消息的方法 * 該方法必須是 public void 修飾的 * 只有一個參數 , 參數類型隨意 * 調用 EventBus.getDefault().post 即可發送消息到該方法進行處理 * @param msg */ @Subscribe public void onMessgeEvent(String msg){ textView.setText(msg); }
1
2
3
4
5
6
7
8
9
10
11
3 . 注冊 EventBus , 一般在 onCreate 中注冊 , 在 onDestory 中取消注冊 ;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 首先注冊訂閱 EventBus EventBus.getDefault().register(this); } @Override protected void onDestroy() { super.onDestroy(); // 取消注冊 EventBus.getDefault().unregister(this); }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
4 . 發送消息 ; 調用 EventBus.getDefault().post 方法 , 將消息發送到消息處理方法中 ;
EventBus.getDefault().post("Hello EventBus !");
1
Android
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。