用戶單擊按鈕后,我想讀取活動的 TextViews 中的內容,然后從演示者調用方法以根據發送給它的信息獲取返回值。但是我不知道演示者是否應該自己獲取這些數據,或者我是否應該在調用他的方法之一時從 Activity 類傳遞給他(這意味著獲取活動類中 TextFields 中的數據,然后發送當我調用 Presenter 方法時將數據作為參數)。我已經嘗試了這兩種方法,但我不知道哪種方法更有條理。
3 回答

慕標琳琳
TA貢獻1830條經驗 獲得超9個贊
使用 MVP 架構模式時,您應該有一個對Presenter
on 的引用View
(在這種情況下, theView
是您的Activity
)。他們有非常不同的職責:
你
View
應該盡可能的愚蠢,也就是說,它應該只負責向用戶顯示任何數據并收集用戶輸入。你
Presenter
應該負責處理雙方所有顯示的數據View
,并充當的中間人View
和Model
。換句話說,對于每個可能的用戶輸入,都應該有一種Presenter
能夠處理它的方法。
例如,在您的情況下,View
負責將 TextView 的內容處理到Presenter
. 然后,Presenter
必須將這些內容傳遞給Model
,它會根據您的業務邏輯對其進行處理。當Model
完成處理時,它返回結果給Presenter
,然后準備該內容要被顯示在View
。當內容準備好后,Presenter
然后將其發送到View
.
了解了所有這些,您應該能夠回答您的問題。它會是這樣的(偽代碼):
class MyActivity
{
// you should inject this
Presenter myPresenter;
TextView myTextView;
...
myPresenter.doStuff(myTextView.getText().toString());
}
添加回答
舉報
0/150
提交
取消