我正在将this code转换为kotlin

哪里

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

我究竟做错了什么??

最佳答案

将您的BaseViewHolder<*>*更改为T
像这样

...BaseAdapter<T:BaseModel, U : BaseViewHolder<T>>...

07-24 09:21