我有Android Java代码,并尝试转换为Android Kotlin。我已经尝试了多种方法将代码转换为Kotlin,但没有成功。
我的Java代码如下,
public abstract class BaseVM<N> extends ViewModel {
/*Class Body*/
}
public abstract class BaseActivity<T extends ViewDataBinding, V extends BaseVM>{
/*Class Body*/
}
按以下方式转换为Kotlin,
abstract class BaseVM<N> : ViewModel() {
/*Class Body*/
}
abstract class BaseActivity<T : ViewDataBinding, V : BaseVM>{ // Here Error is *One Type Argument is expected for class BaseVM<N>*
/*Class Body*/
}
但是出现以下错误 类BaseVM需要一个类型参数
预先感谢您的回复。
答案 0 :(得分:4)
在这里,您应将*作为一种类型参数传递。您必须像下面这样声明您的 BaseActivity :
abstract class BaseActivity<T : Activity, V : BaseVM<*>>