package Ġcom . example . cat _ dictionary _ app . fragments Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . core . content . Content Provider Compat . require Context Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . example . cat _ dictionary _ app . More Details Activity Ċ import Ġcom . example . cat _ dictionary _ app . R Ċ import Ġcom . example . cat _ dictionary _ app . data . B reed Ċ Ċ class ĠB reed Summary Post Adapter ( private Ġval Ġcontext : ĠContext , Ġprivate Ġval Ġb reed s : ĠMutable List < B reed >) ĊĠĠĠ Ġ: ĠRecyclerView . Adapter < B reed Summary Post Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . bre ed _ summary _ post , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġb reed Ġ= Ġb reed s . get ( position ) ĊĠĠĠĠĠĠĠ Ġholder . bind ( bre ed ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġb reed s . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠClean Ġall Ġelements Ġof Ġthe Ġre cycler ĊĠĠĠ Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġb reed s . clear () ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠAdd Ġa Ġlist Ġof Ġitems Ġ-- Ġchange Ġto Ġtype Ġused ĊĠĠĠ Ġfun Ġadd All ( tweet List : ĠList < B reed >) Ġ{ ĊĠĠĠĠĠĠĠ Ġb reed s . addAll ( tweet List ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ), ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtv B reed Name Ġ= ĠitemView . findViewById < TextView >( R . id . tv B reed Name ) ĊĠĠĠĠĠĠĠ Ġval Ġiv B reed Image Ġ= ĠitemView . findViewById < ImageView >( R . id . iv B reed Image ) ĊĠĠĠĠĠĠĠ Ġval Ġtv B reed Description Ġ= ĠitemView . findViewById < TextView >( R . id . tv B reed Description ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġregister Ġthe ĠClick Listener ĊĠĠĠĠĠĠĠ Ġ// ĠEvery Ġtime Ġwe Ġcreate Ġa Ġnew ĠViewHolder , ĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ" this " Ġrefers Ġto Ġthe Ġclass ĠView H od ler , Ġand Ġthe Ġclass Ġis Ġimplementing Ġan Ġappropriate ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġinterface ĠView . OnClickListener . ĠThat 's Ġwhy Ġ" this " Ġworks . ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( bre ed : ĠB reed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv B reed Name . text Ġ= Ġb reed . name ; ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv B reed Description . text Ġ= Ġb reed . description ; ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdes Len Ġ= Ġb reed . description . length ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdes Ġ= Ġb reed . description ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i ( TAG , Ġ" description Ġhas Ġlen Ġ$ des Len : Ġ$ des ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġuse ĠG lide Ġto Ġbind Ġimage Ġto Ġits Ġiv B reed Image ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( item View . context ). load ( bre ed . image url ). into ( iv B reed Image ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠStart ĠMore Details ĠActivity Ġwhen ĠView Ġis Ġclicked ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( p 0 : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb reed Ġ= Ġb reed s [ adapter Position ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠMore Details Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" BRE ED _ EXTRA ", Ġb reed ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠTAG Ġ= Ġ" B reed Summary Post Adapter " ĊĠĠĠ Ġ} Ċ } Ċ