參考原文:https://www.jianshu.com/p/bbb3b77d47eb
1、activity與fragment傳值
當activity動態加載fragment時可以通過fragment的setArguments()傳入值;
在fragment類中通過fragment的getArguments()方法獲得傳入的值 ;
Google提出的一種MVP實現方式,步驟:
1.BasePresenter
2.BaseView
兩個接口分別作爲Presenter和View的基類,僅定義了最基本的方法,具體頁面的view和presenter則分別定義繼承的接口,添加屬於自己頁面的方法。
3.Contract 契約類
這是Google MVP與其他實現方式的不同之一,契約類用於定義同一個界面的view和presenter的接口,通過規範的方法命名或註釋,可以清晰的看到整個頁面的邏輯。
4.具體的Impl類
Fragment實現View接口,這裏使用Google推薦的創建Fragment實例的static方法newInstance(),將fragment必備的參數傳入。
Presenter實現類,提供一個參數爲對應View的構造器,持有View的引用,並調用View的setPresenter()方法,讓View也持有Presenter的引用,方便View調用Presenter的方法。
5.最後就是Activity
創建view以及presenter實例,並將二者聯繫起來。
下圖是Google官方Demo:todo-mvp模式的架構圖