package Ġcom . example . hw 3 Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġkotlinx . android . synt hetic . main . list _ item . view .* Ċ Ċ class ĠContact Adapter ( ĊĠĠĠ Ġprivate Ġval Ġcontacts : ĠList < Contact >, ĊĠĠĠ Ġprivate Ġval ĠonClick : Ġ( Contact ) Ġ-> ĠUnit Ċ ): ĠRecyclerView . Adapter < Contact Adapter . Contact ViewHolder >() Ġ{ ĊĠĠĠ Ġclass ĠContact ViewHolder ( val Ġroot : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( contact : ĠContact ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( root ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . text Ġ= Ġcontact . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnumber . text Ġ= Ġcontact . phoneNumber ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġview Type : ĠInt ĊĠĠĠ Ġ): ĠContact Adapter . Contact ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġholder Ġ= ĠContact ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( parent . context ). ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinf late ( R . layout . list _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġholder . root . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonClick ( contacts [ holder . adapter Position ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġholder ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġcontacts . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠContact Adapter . Contact ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( contacts [ position ]) ĊĠĠĠ Ġ} Ċ }