package Ġcom . random _ gu ys . recycler Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġcom . random _ gu ys . rv . Base ViewHolder Ċ import Ġcom . random _ gu ys . rv . RV Ċ Ċ class ĠNames Adapter ( private Ġval ĠmContext : ĠContext ) Ġ: ĠR V < Base ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġnames : ĠArrayList < String > Ġ= ĠArrayList () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠBase ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( mContext ). inflate ( R . layout . name _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget ( position : ĠInt ): ĠString Ġ= Ġnames [ position ] ĊĊĠĠĠ Ġfun Ġadd ( item : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnames . add ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd ( contacts : ĠCollection < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . names . addAll ( contacts ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove ( index : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnames . remove At ( index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġnames . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠBase ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . on Bind ( position ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( names . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnames . size ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĊĠĠĠĠĠĠĠ ĠBase ViewHolder ( item View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Bind ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( item View Ġas ĠTextView ). text Ġ= Ġnames [ position ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }