package Ġcom . example . es ie a _ 3 a . presentation . list Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . es ie a _ 3 a . R Ċ Ċ class ĠAn ime Adapter ( private Ġvar ĠdataSet : ĠList < An ime >, Ġvar Ġlistener : Ġ(( An ime ) Ġ-> ĠUnit )? Ġ= Ġnull ) Ġ: ĠRecyclerView . Adapter < An ime Adapter . ViewHolder >() Ġ{ ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠProvide Ġa Ġreference Ġto Ġthe Ġtype Ġof Ġviews Ġthat Ġyou Ġare Ġusing ĊĠĠĠĠ Ġ* Ġ( custom ĠViewHolder ). ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġclass ĠViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠtextView : ĠTextView ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDefine Ġclick Ġlistener Ġfor Ġthe ĠViewHolder 's ĠView . ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Ġ= Ġview . findViewById ( R . id . anime _ title ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠUpdate List ( list : ĠList < An ime > ){ ĊĠĠĠĠĠĠĠ ĠdataSet Ġ= Ġlist ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠCreate Ġnew Ġviews Ġ( inv oked Ġby Ġthe Ġlayout Ġmanager ) ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( view Group : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġa Ġnew Ġview , Ġwhich Ġdefines Ġthe ĠUI Ġof Ġthe Ġlist Ġitem ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( view Group . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . anime _ item , Ġview Group , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠReplace Ġthe Ġcontents Ġof Ġa Ġview Ġ( inv oked Ġby Ġthe Ġlayout Ġmanager ) ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( view Holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġelement Ġfrom Ġyour Ġdataset Ġat Ġthis Ġposition Ġand Ġreplace Ġthe ĊĠĠĠĠĠĠĠ Ġ// Ġcontents Ġof Ġthe Ġview Ġwith Ġthat Ġelement ĊĠĠĠĠĠĠĠ Ġvar Ġan ime Ġ= ĠdataSet [ position ] ĊĠĠĠĠĠĠĠ ĠviewHolder . textView . text Ġ= Ġan ime . title ĊĠĠĠĠĠĠĠ ĠviewHolder . item View . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ?. invoke ( anime ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠReturn Ġthe Ġsize Ġof Ġyour Ġdataset Ġ( inv oked Ġby Ġthe Ġlayout Ġmanager ) ĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= ĠdataSet . size Ċ Ċ }