package Ġbr . com . dojo . project . view . name List . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġbr . com . dojo . project . R Ċ import Ġbr . com . dojo . project . databinding . Name Item Binding Ċ import Ġbr . com . dojo . project . model . Person Name Ċ Ċ class ĠList Names Adapter Ġ: ĠRecyclerView . Adapter < List Names Adapter . List Names ViewHolder >() Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġdata : ĠMutable List < Person Name > Ġ= Ġmutable ListOf () ĊĊĠĠĠ Ġfun ĠsetData ( value : ĠList < Person Name >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . clear () ĊĠĠĠĠĠĠĠ Ġdata . addAll ( value ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetItem ( index : ĠInt ) Ġ= Ġdata [ index ] ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠList Names ViewHolder Ġ= ĊĠĠĠĠĠĠĠ ĠList Names ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠName Item Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġdata . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠList Names ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( getItem ( position )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠList Names ViewHolder ( private Ġval Ġbinding : ĠName Item Binding ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( person Name : ĠPerson Name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . name . text Ġ= Ġ Ġbinding . name . context . getString ( R . string . person _ name , Ġperson Name . name , Ġperson Name . surname ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . region . text Ġ= Ġperson Name . region ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . gender . text Ġ= Ġperson Name . gender ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }