【发布时间】:2021-06-13 01:37:56
【问题描述】:
这是我正在做的简化代码:
我有这个自定义ViewHolder:
open class AsyncViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
....
}
我从上面的ViewHolder 继承,后来需要创建一个继承类型的AsyncCellAdapter。我正在使用泛型执行此操作:
abstract class AsyncCellAdapter<T: AsyncCellAdapter.AsyncViewHolder>() : RecyclerView.Adapter<T>(){
....
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): T {
val viewHolder = T(View(parent.context)) //<----------Here's the problem
....
return viewHolder
}
....
}
问题出现在T(View(parent.context)) 行中的T
它给了我错误:
Type parameter T cannot be called as function
如何使用泛型创建继承类型的实例并返回它?
【问题讨论】:
标签: java android kotlin generics