package Ġcom . example . device info . first Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . device info . R Ċ import Ġcom . example . device info . data items . Data Item Ċ Ċ /** Ċ Ġ* ĠProvides Ġa Ġbasic Ġadapter Ġto Ġdisplay Ġdata Ġitems Ġin Ġa Ġsimple Ġlist . Ċ Ġ*/ Ċ class ĠFirst Adapter Ġ: ĠRecyclerView . Adapter < First Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġdata Ġ= ĠlistOf < Data Item >() ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdates Ġthe Ġdata Ġstored Ġwithin Ġthis Ġadapter Ġto Ġa Ġnew Ġset . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġupdate Data ( new Data : ĠList < Data Item >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Ġ= ĠnewData ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ) Ġ= ĠViewHolder ( ĊĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . item _ first , Ġparent , Ġfalse ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ= Ġholder . bind ( data [ position ]) ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġdata . count () ĊĊĠĠĠ Ġinner Ġclass ĠViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠBind Ġthe Ġdata Ġin Ġ[ data Item ] Ġto Ġthe Ġcurrent Ġ[ item View ]. ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( data Item : ĠData Item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . findViewById < TextView >( R . id . first Label ). text Ġ= Ġdata Item . label ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . findViewById < TextView >( R . id . first Value ). text Ġ= Ġdata Item . value ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ