【发布时间】:2017-11-21 13:10:02
【问题描述】:
在阅读了相同的文章后,我仍然无法解决泛型问题:
我有 BaseActivity:
abstract class BaseActivity : MvpAppCompatActivity(), BaseView {
abstract fun getPresenter():BasePresenter<BaseView>
}
BaseView 接口
interface BaseView : MvpView
而且肯定是 BasePresenter
open class BasePresenter<T : BaseView> : MvpPresenter<T>()
然后我创建 BaseConnectionView
interface BaseConnectionView : BaseView
和 BaseConnectionPresenter
class BaseConnectionPresenter<T : BaseConnectionView> : BasePresenter<T>()
所以当我创建 BaseConnectionActivity 时
abstract class BaseConnectionActivity : BaseActivity(),BaseConnectionView {
override abstract fun getPresenter(): BaseConnectionPresenter<BaseConnectionView>
}
我有错误:
Return type is BaseConnectionPresenter<BaseConnectionView>,
which is not a subtype of overridden
public abstract fun getPresenter():BasePresenter<BaseView>
但它是子类型!
我该如何解决这个问题?
【问题讨论】:
-
"但它是子类型!"不是,kotlinlang.org/docs/reference/generics.html 解释了原因。
标签: android kotlin moxy android-moxy