Интересно, это то, чего ты хочешь достичь? Глядя на ваш код, я думаю, что вы хотите указать, что BaseAdapter<T extends BaseModel>
не BaseAdapter<T extends RecyclerView.ViewHolder >
.
Примечание: я согласен с комментарием @ Tenfour04 - ваш код Java содержит необработанные типы. Посмотрите, как ваш параметр конструктора здесь public BaseViewHolder(View view,BaseAdapter adapter)
содержит BaseAdapter
без универсального типа, как в BaseAdapter<TYPE_GOES_HERE>
.
abstract class BaseAdapter<T : BaseModel> : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
fun select(holder: BaseViewHolder<T>) {
}
}
abstract class BaseViewHolder<T : BaseModel> : RecyclerView.ViewHolder {
@JvmField
var model: T? = null
constructor(view: View, adapter: BaseAdapter<T>) : super(view) {
adapter.select(this@BaseViewHolder)
}
}