package Ġsmart adapter . view event . listener Ċ Ċ import Ġsmart adapter . Smart Recycler Adapter Ċ import Ġsmart adapter . extension . Smart ViewHolder Binder Ċ import Ġsmart adapter . listener . On Create ViewHolder Listener Ċ import Ġsmart adapter . view event . model . View Event Ċ import Ġsmart adapter . view event . view holder . Custom View EventListener Holder Ċ import Ġsmart adapter . view holder . Smart ViewHolder Ċ Ċ /** Ċ Ġ* ĠContains Ġthe Ġlogic Ġfor Ġpassing Ġitself Ġto Ġa Ġ[ Smart ViewHolder ] Ċ Ġ* Ġvia Ġ[ Custom View EventListener Holder ] Ġinterface Ġto Ġenable Ġposting Ġof Ġcustom Ġ[ View Event ]. Ċ Ġ*/ Ċ open Ġclass ĠOn Custom View EventListener ( ĊĠĠĠ Ġoverride Ġval Ġidentifier : ĠAny Ġ= ĠOn Custom View EventListener :: class , ĊĠĠĠ Ġoverride Ġvar Ġevent Listener : Ġ( View Event ) Ġ-> ĠUnit Ċ ) Ġ: ĠOn View EventListener < View Event >, ĊĠĠĠ ĠSmart ViewHolder Binder , ĊĠĠĠ ĠOn Create ViewHolder Listener Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( ĊĠĠĠĠĠĠĠ Ġadapter : ĠSmart Recycler Adapter , ĊĠĠĠĠĠĠĠ ĠviewHolder : ĠSmart ViewHolder < Any > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( view Holder Ġis ĠCustom View EventListener Holder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . custom View EventListener Ġ= Ġevent Listener ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ