package Ġcn . th ens . kd roid . view Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView ĊĊ Ċ abstract Ġclass ĠSimple Recycler Adapter < E > Ġ: ĠRecyclerView . Adapter < Simple Recycler Adapter . ViewHolder < E >>() Ġ{ ĊĠĠĠ Ġprotected Ġabstract Ġval ĠdataSource : ĠList < E > ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= ĠdataSource . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder < E >, Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind View ( dataSource [ position ], Ġposition ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġclass ĠViewHolder < E >( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġbind View ( data : ĠE , Ġposition : ĠInt ) ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinline Ġfun Ġ< E > Ġcreate ( view : ĠView , Ġcross inline Ġfn : ĠView .( E , ĠInt ) Ġ-> ĠUnit ): ĠViewHolder < E > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠViewHolder < E >( view ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbind View ( data : ĠE , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . fn ( data , Ġposition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinline Ġfun Ġ< E > Ġcreate ( parent : ĠViewGroup , Ġlayout Res : ĠInt , Ġcross inline Ġfn : ĠView .( E , ĠInt ) Ġ-> ĠUnit ): ĠViewHolder < E > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcreate ( LayoutInflater . from ( parent . context ). inflate ( layout Res , Ġparent , Ġfalse ), Ġfn ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }