Reputation: 131
I have Android Java code and tried to convert to Android Kotlin. I have tried in many ways to convert my code to Kotlin but didn't succeed.
I have code in Java as below,
public abstract class BaseVM<N> extends ViewModel {
/*Class Body*/
}
public abstract class BaseActivity<T extends ViewDataBinding, V extends BaseVM>{
/*Class Body*/
}
Converted to Kotlin as below,
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*/
}
But I get the following error One Type Argument is expected for class BaseVM
Thanks in advance for your kinds reply.
Upvotes: 0
Views: 182
Reputation: 120
Here you should pass * as One Type Argument. You have to declare your BaseActivity like below:
abstract class BaseActivity<T : Activity, V : BaseVM<*>>
Upvotes: 4