Я работаю над проектом и выполняю mvp для него, теперь у меня есть BaseActivity для всех моих действий и BasePresenter, который работает с видом деятельности, в которой я работаю, это делается для прикрепления, дитаха и узнавания где угодно мой взгляд равен нулю или нет при работе с докладчиком.
Теперь, это нормально работает для моего первого просмотра с этим
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 {
....
Но теперь я создаю новый докладчик, который называется RegisterPresenter , и когда я использую BasePresenter <> для расширения своего класса с помощью докладчика, он просит поместить LoginContract.View
там.
Я знаю это, потому что здесь это закодировано
abstract class BasePresenter<T : LoginContract.View> : Presenter<T> {
...
Но мне интересно, есть ли подход, где я могу расширить несколько представлений, как это
abstract class BasePresenter<T : multipleViews> : Presenter<T> {