package Ġsmart adapter . view event . listener Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroidx . annotation . Id Res Ċ import Ġio . github . man neo hl und . smart recycler adapter . R Ċ import Ġsmart adapter . Smart Recycler Adapter Ċ import Ġsmart adapter . Smart ViewHolder Type Ċ import Ġsmart adapter . View Id Ċ import Ġsmart adapter . extension . Smart ViewHolder Binder Ċ import Ġsmart adapter . extension . find View Ċ import Ġsmart adapter . listener . On Create ViewHolder Listener Ċ import Ġsmart adapter . view event . model . View Event Ċ import Ġsmart adapter . view event . view holder . On Item Touch EventListener Ċ import Ġsmart adapter . view holder . Smart ViewHolder Ċ Ċ /** Ċ Ġ* ĠContains Ġthe Ġlogic Ġfor Ġthe Ġmulti Ġview Ġholder Ġviews Ġclick Ġfor Ġre cycler Ġadapter Ġpositions . Ċ Ġ*/ Ċ @ Suppress Lint (" Click ableView Accessibility ") Ċ open Ġclass ĠOn Touch EventListener ( ĊĠĠĠ Ġoverride Ġval ĠviewHolder Type : ĠSmart ViewHolder Type Ġ= ĠSmart ViewHolder :: class , ĊĠĠĠ Ġ@ Id Res ĊĠĠĠ Ġoverride Ġvar arg Ġval Ġview Ids : ĠView Id Ġ= Ġint ArrayOf ( R . id . undefined ), ĊĠĠĠ Ġoverride Ġval Ġidentifier : ĠAny Ġ= ĠOn Touch EventListener :: class , ĊĠĠĠ Ġoverride Ġvar Ġevent Listener : Ġ( View Event . On Touch Event ) Ġ-> ĠUnit Ċ ) Ġ: ĠOn View EventListener < View Event . On Touch Event >, ĊĠĠĠ ĠSmart ViewHolder Binder , ĊĠĠĠ ĠOn Create ViewHolder Listener Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( ĊĠĠĠĠĠĠĠ Ġadapter : ĠSmart Recycler Adapter , ĊĠĠĠĠĠĠĠ ĠviewHolder : ĠSmart ViewHolder < Any > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview Ids . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( find View ( it , ĠviewHolder )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset On Touch Listener Ġ{ Ġview , Ġmotion Event Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevent Ġ= ĠView Event . On Touch Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . adapter Position , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmotion Event ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( view Holder Ġas ? ĠOn Item Touch EventListener )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . on View Event ( event ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Listener . invoke ( event ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ