標籤:

Android activity與fragment之間通信的好的方法有哪些?


event bus


android原生, 大多是activity與activity間, 通過intent通信

一個activity會包裹一兩個fragment,他們之間是直接用回調。


我來個偏門的,用handler

Fragment實現Handler.Callback;Activity持有Handler引用,發Message通信,反向也可以


fragment的生命周期在 activity 的 onCreate 和onDestory 之間,其他不受控制,所以盡量fragment從 activity取數據,而不是activity強制扔給fragment


Bundle bd = new Bundle();

bd.putString("key", "value");

...

Fragment.setArguments(bd);......


Android:Activity與Fragment通信(99%)完美解決方案

這是我自己總結的一套解決方案,大家可以多多提意見


基本是採用觀察者模式解耦思路,分配一塊內存用於裝訂閱者的函數指針,發布者在需要的時候把內存翻一遍執行函數指針就把數據交給訂閱者模塊處理。目前想到的方案有:

1.單進程

1.1 EventBus 等進程內通訊的事件匯流排

1.2 Broadcast Receiver

1.3 回調/監聽者模式

1.4 Content Observer

2.多進程

2.1 Broadcast Receiver

2.2 Content Observer


最好通過newInstance的方式傳遞,或者用回調,保持Fragment的獨立性很重要


用介面進行通信。


eventbus ,otto


好的方法?????坐等大神!!!!!

回調介面?

eventbus?


推薦閱讀:

學習android開發需要哪些基礎?
Google I/O 2017上推出的新 GC 演算法的原理是怎樣的?
安卓應用為什麼要在內部存儲留下這麼多文件?
程序員在公司沒事幹時候,做什麼好?
eclipse中運行安卓模擬器為什麼這麼慢?

TAG:Android開發 |