例如,我有一个按钮,如果用户点击该按钮,则只需拨打finish()
。我要告诉主持人点击按钮了吗? :
//--------------HomeView.kt--------------
var presenter: HomePresenter? = null
override fun onCreate(...) {
btBack.setOnClickListener {
presenter.onBackPress()
}
}
private fun onBackPress() {
finish()
}
//--------------HomePresenter.kt--------------
var view : HomeView? = null
private fun onBackPress() {
view?.onBackPress()
}
或者我可以简化它只是在其onClickListener()中调用finish()
吗? :
//--------------HomeView.kt--------------
override fun onCreate(...) {
btBack.setOnClickListener {
finish()
}
}
答案 0 :(得分:1)
除非您在完成活动之前需要执行某些逻辑,否则请告诉演示者,否则我没有看到任何优势做到这一点
答案 1 :(得分:1)
与几乎所有架构问题一样,这取决于个人偏好以及您希望代码清洁的程度。
就个人而言,我建议总是在视图上为每个交互调用演示者(即使它们只是一行调用)。
当然,我必须承认它增加了很多样板代码,但我认为这是值得的。