Обнаружено несоответствие типов при использовании Generic в Kotlin - PullRequest
0 голосов
/ 19 октября 2018

Я конвертирую этот код в котлин

, где

abstract class BaseModel(){
}

BaseViewHolder

abstract class BaseViewHolder<T : BaseModel>(itemView: View) : RecyclerView.ViewHolder(itemView){
    abstract fun bindData(data: T)
}

BaseAdapter

abstract class BaseAdapter<T:BaseModel, U : BaseViewHolder<*>>(var items: List<T>) : RecyclerView.Adapter<U>() {
    override fun onCreateViewHolder(p0: ViewGroup, p1: Int): U {
    }

    override fun getItemCount(): Int {
        return items.size
    }

    override fun onBindViewHolder(holder: U, pos: Int) {
        holder.bindData(items.get(pos))
    }
}

В onBindViewHolder метод holder.bindData выдает ошибку несоответствие типа требуется Ничего не найдено T

Что я делаю не так ??

1 Ответ

0 голосов
/ 08 ноября 2018

Измените BaseViewHolder<*> с * на T

Точно так же

...BaseAdapter<T:BaseModel, U : BaseViewHolder<T>>...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...