Android 如何使用my BasePresenter扩展所有视图
我在一个项目上工作,并对其进行mvp,现在,我的所有活动都有一个BaseActivity和一个BasePresenter,它与我所在活动的视图一起工作,这样做是为了在与我的presenter一起工作时附加、编辑并知道我的视图是否为空 现在,对于我的第一个观点来说,这很好Android 如何使用my BasePresenter扩展所有视图,android,design-patterns,kotlin,mvp,Android,Design Patterns,Kotlin,Mvp,我在一个项目上工作,并对其进行mvp,现在,我的所有活动都有一个BaseActivity和一个BasePresenter,它与我所在活动的视图一起工作,这样做是为了在与我的presenter一起工作时附加、编辑并知道我的视图是否为空 现在,对于我的第一个观点来说,这很好 abstract class BasePresenter<T : LoginContract.View> : Presenter<T> { private var mMvpView: T? =
abstract class BasePresenter<T : LoginContract.View> : Presenter<T> {
private var mMvpView: T? = null
val isViewAttached: Boolean
get() = mMvpView != null
override fun attachView(view: T) {
mMvpView = view
}
override fun detachView() {
mMvpView = null
}
}
但我想知道是否有一种方法可以像这样扩展多个视图
class LoginPresenter: BasePresenter<LoginContract.View>(), LoginContract.Presenter {
....
abstract class BasePresenter<T : multipleViews> : Presenter<T> {
抽象类BasePresenter:Presenter{
您不能扩展多个类。您应该使用一些基本接口
你怎么能做到这一点
BaseView
界面:类GeneralPresenter:BasePresenter
你不能像对待BasePresenter那样创建一个基本视图,并用它替换LoginContact.View吗?
abstract class BasePresenter<T : multipleViews> : Presenter<T> {
abstract class BasePresenter<T : BaseView> : Presenter<T>
interface AllViews: LoginContract.View, RegisterContract.View
class GeneralPresenter : BasePresenter<AllView>