package Ġbg . g overnment . vir us afe . mv vm . recycler Ċ Ċ import Ġandroid . view . ViewGroup Ċ Ċ /** Ċ Ġ* ĠA Ġsimple Ġimplementation Ġof Ġthe Ġ[ Abstract Recycler Adapter ], Ċ Ġ* Ġwhich Ġcan Ġbe Ġused Ġin Ġcases Ġwhen Ġcustom Ġimplementation Ġof Ġthe Ġ[ Base ViewHolder ] Ġin Ġnot Ġrequired Ċ Ġ* Ċ Ġ* Ġ@ param Ġvm Binding Res ĠThe Ġbinding Ġresource Ġfor Ġthe Ġview Ġmodel Ġ( example ĠBR . row ViewModel ) Ċ Ġ* Ċ Ġ* Ġ@ author Ġge org i . k us he v Ċ Ġ*/ Ċ class ĠSimple Recycler Adapter ( Ċ ĉ private Ġval Ġvm Binding Res : ĠInt Ċ ) Ġ: ĠAbstract Recycler Adapter < I Holder ViewModel , ĠBase ViewHolder < I Holder ViewModel >>() Ġ{ ĊĊ ĉ private Ġvar Ġlistener Binding Res : ĠInt Ġ= Ġ 0 Ċ ĉ private Ġvar Ġrow ClickListener : ĠBase ViewHolder . Row ClickListener ? Ġ= Ġnull ĊĊ ĉ /** Ċĉ Ġ* ĠSet Ġrow Ġclick Ġlistener Ġto Ġthe Ġbinding Ġof Ġthe Ġview Ġin Ġcurrent Ġholder Ċĉ Ġ* Ċĉ Ġ* Ġ@ param Ġlistener Binding Res ĠThe Ġbinding Ġresource Ġfor Ġthe Ġrow Ġclick Ġlistener Ċĉ Ġ* Ġ@ param Ġrow ClickListener ĠThe Ġclick Ġlistener Ġfor Ġthe Ġbinding Ġof Ġthe Ġview Ġin Ġthe Ġholder Ċĉ Ġ*/ Ċ ĉ fun Ġset Row ClickListener ( listener Binding Res : ĠInt , Ġrow ClickListener : ĠBase ViewHolder . Row ClickListener ) Ġ{ Ċĉ ĉ this . listener Binding Res Ġ= Ġlistener Binding Res Ċĉ ĉ this . row ClickListener Ġ= Ġrow ClickListener Ċ ĉ } ĊĊ ĉ override Ġfun ĠonCreate Holder ( parent : ĠViewGroup , Ġlayout Res : ĠInt ): ĠBase ViewHolder < *> Ġ{ Ċĉ ĉ val Ġholder Ġ= ĠBase ViewHolder < I Holder ViewModel >( inflate View Binding ( parent , Ġlayout Res ), Ġvm Binding Res ) Ċĉ ĉ row ClickListener ?. let Ġ{ Ċĉĉ ĉ holder . set Row ClickListener ( listener Binding Res , Ġit ) Ċĉ ĉ } Ċĉ ĉ return Ġholder Ċ ĉ } Ċ } Ċ