package Ġcom . c ree pers an . switch host . widget . adapter Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . c ree pers an . switch host . bean . Main Start Drawer Item Ċ import Ġcom . c ree pers an . switch host . widget . holder . Main Start Drawer ViewHolder Ċ import Ġjava . util . ArrayList Ċ Ċ class ĠMain Start Drawer Adapter Ġ: ĠRecyclerView . Adapter < Main Start Drawer ViewHolder >() Ġ{ ĊĠĠĠ Ġprivate Ġval Ġm ItemList Ġ= ĠArrayList < Main Start Drawer Item >() ĊĠĠĠ Ġprivate Ġvar Ġm Listener Ġ: ĠOn ItemClickListener ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠMain Start Drawer ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMain Start Drawer ViewHolder ( parent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm ItemList . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear Items (){ ĊĠĠĠĠĠĠĠ Ġm ItemList . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Items ( var arg Ġitem : Main Start Drawer Item ){ ĊĠĠĠĠĠĠĠ Ġm ItemList . addAll ( item ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset ItemClickListener ( listener : On ItemClickListener ? ){ ĊĠĠĠĠĠĠĠ Ġm Listener Ġ= Ġlistener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠMain Start Drawer ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġm ItemList [ position ] ĊĠĠĠĠĠĠĠ Ġholder . setItem ( item . icon , Ġitem . name ) ĊĠĠĠĠĠĠĠ Ġholder . setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Listener ?. on Item Click ( position , Ġitem ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn ItemClickListener { ĊĠĠĠĠĠĠĠ Ġfun Ġon Item Click ( pos : Int , Ġitem : Main Start Drawer Item ) ĊĠĠĠ Ġ} Ċ Ċ }