package Ġcom . gom gu k . k project . main Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . Relative Layout Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . gom gu k . k project . R Ċ import Ġcom . gom gu k . k project . content . Content Activity Ċ import Ġcom . gom gu k . k project . util . model . Document Ċ import Ġcom . gom gu k . k project . util . view . apply R ipple Animation Ċ import Ġcom . gom gu k . k project . util . view . load Image Ċ Ċ class ĠMain RecyclerView Adapter ( private Ġval Ġcontext : ĠContext ) Ġ: ĠRecyclerView . Adapter < Main RecyclerView Adapter . ViewHolder >() Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġdata : ĠList < Document > Ġ= ĠArrayList () ĊĊĠĠĠ Ġfun ĠsetData ( data : ĠList < Document >, Ġis Add : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Add ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . data Ġ= Ġthis . data . plus ( data ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . data Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġp 1 : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . item _ main _ recycler _ view , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdata . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( view Holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Data Ġ= Ġdata [ position ] ĊĊĠĠĠĠĠĠĠ ĠviewHolder . layout . apply R ipple Animation () ĊĠĠĠĠĠĠĠ ĠviewHolder . layout . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠContent Activity :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" data ", Ġcurrent Data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcurrent Data . thumbnail ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . image . load Image ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠviewHolder . title . text Ġ= Ġcurrent Data . title ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlayout : ĠRelative Layout Ġ= ĠitemView . findViewById ( R . id . layout ) ĊĠĠĠĠĠĠĠ Ġval Ġimage : ĠImageView Ġ= ĠitemView . findViewById ( R . id . image ) ĊĠĠĠĠĠĠĠ Ġval Ġtitle : ĠTextView Ġ= ĠitemView . findViewById ( R . id . title ) ĊĠĠĠ Ġ} Ċ }