package Ġcom . s let ical boy . weight . x recycler . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Id Res Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ Ċ /** Ċ Ġ* ĠCreated Ġon Ġ 1 8 - 2 - 7 . Ċ Ġ* Ċ Ġ* Ġ@ author Ġle eb in Ċ Ġ* Ġ@ version Ġ 1 . 0 Ċ Ġ* Ġ@ description Ċ Ġ*/ Ċ abstract Ġclass ĠX Base Holder < M >( item View : ĠView ?) Ġ: ĠRecyclerView . ViewHolder ( item View !! ) Ġ{ ĊĊĠĠĠ Ġconstructor ( parent : ĠViewGroup , Ġ@ Layout Res Ġres : ĠInt ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: Ġthis ( LayoutInflater . from ( parent . context ). inflate ( res , Ġparent , Ġfalse )) ĊĊĠĠĠ Ġprotected Ġfun Ġ< V Ġ: ĠView ?> Ġget View (@ Id Res Ġid : ĠInt ): ĠV Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠitemView . findViewById < View >( id ) Ġas ĠV ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġval Ġdata Position : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġget Owner Adapter < RecyclerView . Adapter <* >>() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( adapter Ġ!= Ġnull Ġ&& Ġadapter Ġis ĠX Recycler Adapter <* >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Position Ġ- Ġadapter . headers Count ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġadapter Position ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġ< A Ġ: ĠRecyclerView . Adapter < *> ?> Ġget Owner Adapter (): ĠA ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġre cyclerView Ġ= Ġowner RecyclerView ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( re cyclerView Ġ== Ġnull ) Ġnull Ġelse Ġre cyclerView . adapter Ġas ĠA ? ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġowner RecyclerView : ĠRecyclerView ? ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm Owner RecyclerView Ġ= ĠRecyclerView . ViewHolder :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getDeclared Field (" m Owner RecyclerView ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Owner RecyclerView . is Accessible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġm Owner RecyclerView [ this ] Ġas ĠRecyclerView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠNoSuch Field Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegal AccessException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġval Ġcontext : ĠContext Ġget () Ġ= ĠitemView . context ĊĊĠĠĠ Ġabstract Ġfun Ġbind Data ( data : ĠM ) Ċ }