Android MVP - 我应该在哪里阅读 Textview?

用户单击按钮后,我想读取活动的 TextViews 中的内容,然后从演示者调用方法以根据发送给它的信息获取返回值。

但是我不知道演示者是否应该自己获取这些数据,或者我是否应该在调用他的方法之一时从 Activity 类传递给他(这意味着获取活动类中 TextFields 中的数据,然后发送当我调用 Presenter 方法时将数据作为参数)。

我已经尝试了这两种方法,但我不知道哪种方法更有条理。


呼啦一阵风
浏览 183回答 3
3回答

慕标琳琳

使用 MVP 架构模式时,您应该有一个对Presenteron 的引用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());}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java