package Ġit . ret i . perc ors i . school . ui . Students List Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġit . ret i . perc ors i . school . R Ċ import Ġit . ret i . perc ors i . school . db . entities . Class room Ċ import Ġit . ret i . perc ors i . school . db . entities . Student Ċ Ċ class ĠStudent ListAdapter Ġinternal Ġconstructor ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġstudents Ctor : ĠList < Student >, ĊĠĠĠ Ġprivate Ġval Ġlistener : ĠStudent List Fragment . On List Fragment Interaction Listener ? Ċ ) Ġ: ĠRecyclerView . Adapter < Student ListAdapter . Student View holder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġinflater : ĠLayoutInflater Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠ Ġprivate Ġvar Ġstudents Ġ= Ġempty List < Student >() ĊĠĠĠ Ġprivate Ġval ĠonClick Listener : ĠView . OnClickListener ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġstudents Ġ= Ġstudents Ctor ĊĊĠĠĠĠĠĠĠ ĠonClick Listener Ġ= ĠView . OnClickListener Ġ{ Ġv Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġv . tag Ġas ĠStudent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ?. on List Fragment Interaction ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġinner Ġclass ĠStudent View holder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstudent ItemName : ĠTextView Ġ= ĠitemView . findViewById ( R . id . student _ name ) ĊĠĠĠĠĠĠĠ Ġval Ġstudent Item Image Ġ: ĠImageView Ġ= ĠitemView . findViewById ( R . id . student _ image ) ĊĠĠĠĠĠĠĠ Ġval Ġstudent Initial s : ĠTextView Ġ= ĠitemView . findViewById ( R . id . student _ initial s ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠStudent View holder Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠitemView Ġ= Ġinflater . inflate ( R . layout . student _ view _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠStudent View holder ( item View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠStudent View holder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Ġ= Ġstudents [ position ] ĊĠĠĠĠĠĠĠ Ġval ĠfirstName Ġ= Ġcurrent . firstName ĊĠĠĠĠĠĠĠ Ġval ĠlastName Ġ= Ġcurrent . lastName ĊĠĠĠĠĠĠĠ Ġval Ġinitial s Ġ= Ġcurrent . firstName ?. take ( 1 )?. toUpperCase ()?. plus ( current . lastName ?. take ( 1 )?. toUpperCase ()) ĊĠĠĠĠĠĠĠ Ġholder . student ItemName . text Ġ= Ġ"$ firstName Ġ$ lastName " ĊĠĠĠĠĠĠĠ Ġholder . student Initial s . text Ġ= Ġinitial s ĊĠĠĠĠĠĠĠ Ġholder . student Item Image . setColor Filter ( R . color . design _ default _ color _ primary ) ĊĊĠĠĠĠĠĠĠ Ġwith ( holder . item View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtag Ġ= Ġcurrent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset OnClickListener ( on ClickListener ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġstudents . size Ċ }