2017-08-22 4 views
0

とmetodの使用を禁止アウト投影タイプは、私はKotlinの使用を開始し、私はこのようなインタフェースを定義し、一般的なパラメータ

class Klasa (
     private val adapter: AAdapter<*> 
) { 

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

} 
(:T、ポジション:のInt V):

私はアウト投影型 'AAdapter <は*>' onBindAViewHolderパブリック抽象楽しい」の使用を禁止しているというエラー取得単位を

私は定義に "in"または "out"を追加するために結びついていますが、私は混乱しています。

許可する方法。

答えて

1

AAdapter<*>AAdapter<RecyclerView.ViewHolder>に置き換えます。あなたはAAdapterは、そのタイプRecyclerView.ViewHolderの任意のサブクラスであるtypeパラメータVHを持っていることを宣言しているので

class Klasa (
     private val adapter: AAdapter<RecyclerView.ViewHolder> 
) { 
// ... 

Klasaクラスでは、任意のタイプのタイプパラメータを持つAAdapterのインスタンスがあります。

関連する問題