package Ġcom . example . android . navigation . ui . j okes . favorite Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . android . navigation . R Ċ import Ġcom . example . android . navigation . model . Jo ke Ċ import Ġcom . example . android . navigation . ui . add Jo ke . Jo ke Holder Ċ Ċ class ĠF avorite Jo ke Adapter ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġon Favorite Click Handler : Ġ( Jo ke ) Ġ-> ĠUnit Ċ ) Ġ: ĠRecyclerView . Adapter < Jo ke Holder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġitems Ġ= Ġmutable ListOf < Jo ke >() ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġitems . size ĊĊĠĠĠ Ġfun ĠsetData ( data : ĠList < Jo ke >) Ġ{ ĊĠĠĠĠĠĠĠ Ġitems . clear () ĊĠĠĠĠĠĠĠ Ġitems . addAll ( data ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠJo ke Holder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . item _ jo ke , Ġparent , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠJo ke Holder ( view , Ġon Favorite Click Handler ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠJo ke Holder , Ġposition : ĠInt ) Ġ= Ġholder . display Data ( items [ position ]) ĊĊĠĠĠ Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġitems . clear () ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} Ċ }