1. 程式人生 > >Android的碎片fragment和activity之前的關係

Android的碎片fragment和activity之前的關係

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模式的架構圖