generics接口中的超出投影types禁止使用具有generics参数的metod

我开始使用Kotlin,并定义如下界面:

interface AAdapter { fun onCreateAViewHolder(parent: ViewGroup): VH fun onBindAViewHolder(v: VH, position: Int) } 

当我尝试在代码上使用它时:

 class Klasa ( private val adapter: AAdapter ) { fun doSth(){ //... val vh = this.adapter.onCreateAViewHolder(parent) //on below line I get error adapter.onBindAViewHolder(v, position) //... } } 

我得到一个错误: Out-projected type’AAdapter ‘禁止使用’public abstract fun onBindAViewHolder(v:T,position:Int):Unit

我绑定添加“在”或“出”定义,但我很困惑。

如何让它。

AAdapter替换AAdapter<*> AAdapter

 class Klasa ( private val adapter: AAdapter ) { // ... 

因为您已经声明AAdapter有一个types参数VH其types是RecyclerView.ViewHolder任何子类。 而在Klasa类中,您有一个具有任何types的types参数的AAdapter实例。