package Ġza . org . gr ass root 2 . view . adapter Ċ Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ Ċ import Ġcom . jak ew h art on . r xb ind ing 2 . view . Rx View Ċ Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . subjects . Publish Subject Ċ import Ġkotlinx . android . synt hetic . main . selectable _ item _ row . view .* Ċ import Ġza . org . gr ass root 2 . R Ċ import Ġza . org . gr ass root 2 . model . Selectable Item ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby Ġlu ke Ġon Ġ 2 0 1 7 / 0 8 / 1 9 . Ċ Ġ*/ Ċ Ċ class ĠItem Selection Adapter ( private Ġval Ġdata : ĠList < Selectable Item >) Ġ: ĠRecyclerView . Adapter < Item Selection Adapter . Selectable Item ViewHolder >() Ġ{ ĊĠĠĠ Ġprivate Ġval Ġview Click Subject Ġ= ĠPublish Subject . create < String >() ĊĊĠĠĠ Ġval Ġview Click Observable : ĠObservable < String > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġview Click Subject ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠSelect able Item ViewHolder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSelect able Item ViewHolder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . selectable _ item _ row , Ġparent , Ġfalse )) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠSelect able Item ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġdata [ position ] ĊĊĠĠĠĠĠĠĠ Ġholder . item Heading . text Ġ= Ġitem . name ĊĠĠĠĠĠĠĠ Ġholder . item Description . text Ġ= Ġitem . description ĊĠĠĠĠĠĠĠ Ġholder . item Uid Ġ= Ġitem . uid ĊĊĠĠĠĠĠĠĠ Ġ// Ġtodo : Ġdis posable On Detach Ġ" take Until " Ġdet aches ĊĠĠĠĠĠĠĠ ĠRx View . click s ( holder . item Root ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map < String > Ġ{ Ġo Ġ-> Ġholder . item Uid Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( view Click Subject ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdata . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠSelect able Item ViewHolder Ġinternal Ġconstructor ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġvar Ġitem Root : ĠViewGroup Ġ= ĠitemView . item _ root ĊĠĠĠĠĠĠĠ Ġvar Ġitem Heading : ĠTextView Ġ= ĠitemView . item _ heading ĊĠĠĠĠĠĠĠ Ġvar Ġitem Description : ĠTextView Ġ= ĠitemView . item _ description ĊĠĠĠĠĠĠĠ Ġvar Ġitem Uid : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ} Ċ } Ċ