我第一次使用Kotlin制作一个Android应用程序,使用MVP模式。我的问题是:既然Kotlin提供了高阶函数,我们为什么需要View和Presenter接口来进行通信?难道我们不能只使用这些高阶函数吗?没有接口使用模式是否不好?
我已经查看并阅读了大量的文章和教程,但它们都没有回答我的问题。下面的代码中我所做的是错误的吗?有人能够向我解释一下吗?
在我的Activity中:
override fun init() {
btn_login.setOnClickListener {
LoginPresenter.userLogin(et_emailAddress.text.toString(),et_password.text.toString()){
if (it){
//do something
}else{
//do something
}
}
}
}
我的演讲者
object LoginPresenter {
fun userLogin(emailId: String, password: String, completion: (Boolean) -> Unit) {
//do something
completion(true)
}
}
Consumer<T>
。此外,这会破坏MVP流程控制。 - Mark