package Ġcom . st ef an zh . be et v plus . adapter ĊĊ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . st ef an zh . be et v plus . Category Ċ import Ġcom . st ef an zh . be et v plus . R Ċ import Ġkotlinx . android . synt hetic . main . fragment _ category . view .* Ċ Ċ interface ĠOn Category ClickListener Ġ{ ĊĠĠĠ Ġfun Ġon Category Click ( category : ĠCategory ) Ċ } Ċ Ċ /** Ċ Ġ* Ġ[ RecyclerView . Adapter ] Ġthat Ġcan Ġdisplay Ġa Ġ[ Category ] Ġand Ġmakes Ġa Ġcall Ġto Ġthe Ċ Ġ* Ġspecified Ġ[ On Category ClickListener ]. Ċ Ġ*/ Ċ class ĠCategory Adapter ( ĊĠĠĠ Ġprivate Ġval Ġcategories : ĠList < Category >, ĊĠĠĠ Ġprivate Ġval Ġclick Listener : ĠOn Category ClickListener Ċ ) Ġ: ĠRecyclerView . Adapter < Category Adapter . Category Row >() Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġeach Ġ[ Category Row ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠCategory Row Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . fragment _ category , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠCategory Row ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPl aces Ġthe ĠCategory Ġrow Ġinto Ġthe Ġview . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( row : ĠCategory Row , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcategory Ġ= Ġcategories [ position ] ĊĠĠĠĠĠĠĠ Ġrow . category Row . text Ġ= Ġcategory . title ĊĊĠĠĠĠĠĠĠ Ġrow . row View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick Listener . on Category Click ( category ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġcategories . size ĊĊĠĠĠ Ġ// ĠHelper Ġclass Ġthat Ġrepresents Ġeach ĠCategory Ġrow Ġin Ġthe Ġlist ĊĠĠĠ Ġinner Ġclass ĠCategory Row ( val Ġrow View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( row View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcategory Row : ĠTextView Ġ= Ġrow View . category _ row ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsuper . toString () Ġ+ Ġ" Ġ'" Ġ+ Ġcategory Row . text Ġ+ Ġ"'" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ