@ file : Suppress (" unused ", Ġ" Member Visibility Can Private ") Ċ Ċ package Ġir . ho ss ain co . commons . android . types a fer ec y cl er view Ċ Ċ import Ġandroid . support . annotation . Layout Res Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġir . ho ss ain co . commons . android . inflate Item Ċ Ċ /** Ċ Ġ* ĠConvenience ĠViewHolder Ġclass Ġfor Ġlist Ġitems Ġthat Ġneed Ġa Ġreference Ġto Ġtheir Ġ[ Host ] Ġto Ġdispatch Ċ Ġ* ĠUI Ġinteraction Ġevents Ġon , Ġand Ġuse Ġthe Ġsame Ġ[ Data ] Ġfor Ġall Ġitems . Ċ Ġ*/ Ċ abstract Ġclass ĠItem ViewHolder < Data Ġ: ĠAny , ĠV Ġ: ĠView , ĠHost >( protected Ġval Ġhost : ĠHost , ĠitemView : ĠV ) ĉ : ĠViewHolder < V >( item View ) Ġ{ ĊĊ ĉ /** Ċĉ Ġ* ĠThis Ġproperty Ġis Ġupdated Ġfrom Ġ[ bind ] Ġbefore Ġ[ V . on Bind ] Ġis Ġcalled . Ċĉ Ġ*/ Ċ ĉ late init Ġvar Ġdata : ĠData Ċĉ ĉ private Ġset ĊĊ ĉ constructor ( host : ĠHost , Ġ@ Layout Res Ġlayout Res Id : ĠInt , Ġparent : ĠViewGroup ) Ċĉ ĉ : Ġthis ( host , Ġparent . inflate Item ( layout Res Id )) ĊĊ ĉ /** Ċĉ Ġ* ĠDon 't Ġcreate Ġobjects , Ġuse Ġnon Ġin lined Ġlamb das , Ġor Ġcall Ġmethods Ġdoing Ġso Ġin Ġthis Ġcallback Ċĉ Ġ* Ġas Ġit Ġmay Ġbe Ġcalled Ġa Ġlot Ġof Ġtimes Ġas Ġthe Ġuser Ġscroll s Ġfaster Ġand Ġfaster , Ġand Ġalloc ating Ċĉ Ġ* Ġmemory Ġcould Ġaffect Ġthe ĠUI Ġsmooth ness . Ċĉ Ġ* Ġ@ see Ġdata Ċĉ Ġ* Ġ@ see Ġbind Ċĉ Ġ*/ Ċ ĉ abstract Ġprotected Ġfun ĠV . on Bind () ĊĊ ĉ /** ĠTo Ġbe Ġcalled Ġfrom Ġyour Ġ[ RecyclerView . Adapter . on Bind ViewHolder ] Ġimplementation . Ġ*/ Ċ ĉ fun Ġbind ( new Data : ĠData ) Ġ{ Ċĉ ĉ data Ġ= ĠnewData Ċĉ ĉ item View . on Bind () Ċ ĉ } Ċ } Ċ