我正在将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
我在做什么错??
答案 0 :(得分:0)
将您的BaseViewHolder<*>
从*
更改为T
就这样
...BaseAdapter<T:BaseModel, U : BaseViewHolder<T>>...