package Ġcom . far id ram a 1 2 3 . app . ui . search Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . far id ram a 1 2 3 . app . R Ċ import Ġcom . far id ram a 1 2 3 . app . data . local . entity . Search Entity Ċ import Ġcom . far id ram a 1 2 3 . app . databinding . Search Item Binding Ċ import Ġcom . far id ram a 1 2 3 . app . ui . detail . Detail Activity Ċ import Ġcom . far id ram a 1 2 3 . app . ui . detail . Detail Activity . Companion . EXTRA ĊĊ Ċ class ĠSearch Adapter Ġ: ĠRecyclerView . Adapter < Search Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġm Data Ġ= ĠArrayList < Search Entity >() ĊĊĠĠĠ Ġfun Ġclear Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Data . clear () ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetData ( items : ĠArrayList < Search Entity >) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Data . clear () ĊĠĠĠĠĠĠĠ Ġm Data . addAll ( items ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinner Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbinding Ġ= ĠSearch Item Binding . bind ( item View ) ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( items : ĠSearch Entity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( item View ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . login . text Ġ= Ġitems . login . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . id . text Ġ= Ġitems . id . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( item View . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( items . avatar Url . toString ()). center Crop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions . placeholder Of ( R . drawable . ic _ loading ). error ( R . drawable . ic _ error )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( binding . avatar ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( item View . context , ĠDetail Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( EXTRA , items ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . context . startActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġm View Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . search _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( m View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( m Data [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠ Ġreturn Ġm Data . size ĊĠĠĠ Ġ} Ċ }