package Ġcom . example . recyclerview Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . recyclerview . databinding . F ruit Item Binding Ċ Ċ class ĠF ruit Adapter Ġ( val Ġfruit List : ĠList < F ruit >): ĠRecyclerView . Adapter < F ruit Adapter . ViewHolder >() Ġ{ ĊĠĠĠ Ġinner Ġclass ĠViewHolder ( view : ĠView ): ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbinding : ĠF ruit Item Binding Ġ= ĠF ruit Item Binding . bind ( view ) ĊĠĠĠĠĠĠĠ Ġval Ġfruit Image Ġ= Ġbinding . fruit Image ĊĠĠĠĠĠĠĠ Ġval Ġfruit Name Ġ= Ġbinding . fruit Name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlayout Inflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġlayout Inflater . inflate ( R . layout . fruit _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfruit Ġ= Ġthis . fruit List [ position ] ĊĠĠĠĠĠĠĠ Ġholder . fruit Image . setImage Resource ( fruit . image Id ) ĊĠĠĠĠĠĠĠ Ġholder . fruit Name . text Ġ= Ġfruit . name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġthis . fruit List . size Ċ }