package Ġeasy done . feature . select board Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . k amer . select board . R Ċ import Ġkotlinx . android . extensions . Layout Container Ċ import Ġkotlinx . android . synt hetic . main . item _ board .* ĊĊ Ċ internal Ġclass ĠBo ards Adapter ( ĊĠĠĠ Ġprivate Ġval Ġlistener : Ġ( String ) Ġ-> ĠUnit Ċ ) Ġ: ĠRecyclerView . Adapter < Board s Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġdata Ġ= Ġmutable ListOf < Board Ui Model >() ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ= ĊĠĠĠĠĠĠĠ ĠViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . item _ board , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġlistener ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġdata . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ= Ġholder . bind ( data [ position ]) ĊĊĠĠĠ Ġfun ĠsetData ( data : ĠList < Board Ui Model >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . data . clear () ĊĠĠĠĠĠĠĠ Ġthis . data . addAll ( data ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠViewHolder ( ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġcontainer View : ĠView , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlistener : Ġ( String ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ: ĠRecyclerView . ViewHolder ( container View ), ĠLayout Container Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġitem : ĠBoard Ui Model ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer View . setOnClickListener Ġ{ Ġitem ?. run Ġ{ Ġlistener ( this . id ) Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( item : ĠBoard Ui Model ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . item Ġ= Ġitem ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġname View . text Ġ= Ġitem . name ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }