我正在将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>>...