package Ġjp . live . dict oss . my tab bed app 1 čĊč Ċ import Ġandroid . content . Context č Ċ import Ġandroid . os . Bundle č Ċ import Ġandroid . os . Parcelable č Ċ 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 Ġandroidx . fragment . app . Fragment č Ċ import Ġandroidx . navigation . fragment . find Nav Controller č Ċ import Ġandroidx . recyclerview . widget . RecyclerView č Ċ import Ġcom . squareup . pic asso . Pic asso č Ċ import Ġkotlinx . parcel ize . Parcel ize č Ċ import Ġkotlinx . serialization . Serializable čĊč Ċ @ Serializable č Ċ data Ġclass ĠJson My Item Ġ( čĊĠĠĠ Ġval Ġc _ id : ĠInt , čĊĠĠĠ Ġval Ġtitle : ĠString , čĊĠĠĠ Ġval Ġcontent : ĠString , čĊĠĠĠ Ġval Ġimage _ 1 : ĠString , čĊĠĠĠ Ġval Ġcreate _ date : ĠString , čĊĠĠĠ Ġval Ġupdate _ date : ĠString č Ċ ) čĊč Ċ @ Parcel ize č Ċ data Ġclass ĠMy Item Ġ( čĊĠĠĠ Ġval Ġc _ id : ĠInt , čĊĠĠĠ Ġval Ġtitle : ĠString , čĊĠĠĠ Ġval Ġcontent : ĠString , čĊĠĠĠ Ġval Ġimage _ 1 : ĠString , čĊĠĠĠ Ġval Ġcreate _ date : ĠString , čĊĠĠĠ Ġval Ġupdate _ date : ĠString č Ċ ) Ġ: ĠParcel able čĊč Ċ class ĠMy Item Adapter Ġ( private Ġval ĠdataSet : ĠList < My Item >, Ġprivate Ġval Ġcontext : ĠContext , Ġprivate Ġval Ġparent Fragment : ĠFragment ) Ġ: čĊčĊĠĠĠ ĠRecyclerView . Adapter < My Item Adapter . ViewHolder >() Ġ{ čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠProvide Ġa Ġreference Ġto Ġthe Ġtype Ġof Ġviews Ġthat Ġyou Ġare Ġusing čĊĠĠĠĠ Ġ* Ġ( custom ĠViewHolder ). čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġclass ĠViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ čĊĠĠĠĠĠĠĠ Ġval ĠimageView : ĠImageView Ġ= Ġview . findViewById ( R . id . imageView My ItemList Col ) čĊĠĠĠĠĠĠĠ Ġval Ġtitle View : ĠTextView Ġ= Ġview . findViewById ( R . id . textView Title My ItemList Col ) čĊĠĠĠĠĠĠĠ Ġval Ġdatetime View : ĠTextView Ġ= Ġview . findViewById ( R . id . textView Updated ate My ItemList Col ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ// ĠCreate Ġnew Ġviews Ġ( inv oked Ġby Ġthe Ġlayout Ġmanager ) čĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( view Group : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ čĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġa Ġnew Ġview , Ġwhich Ġdefines Ġthe ĠUI Ġof Ġthe Ġlist Ġitem čĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( view Group . context ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . my item _ list _ col , Ġview Group , Ġfalse ) čĊčĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( view ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ// ĠReplace Ġthe Ġcontents Ġof Ġa Ġview Ġ( inv oked Ġby Ġthe Ġlayout Ġmanager ) čĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( view Holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ čĊčĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġelement Ġfrom Ġyour Ġdataset Ġat Ġthis Ġposition Ġand Ġreplace Ġthe čĊĠĠĠĠĠĠĠ Ġ// Ġcontents Ġof Ġthe Ġview Ġwith Ġthat Ġelement čĊĠĠĠĠĠĠĠ Ġval Ġitem : ĠMy Item Ġ= ĠdataSet [ position ] čĊčĊĠĠĠĠĠĠĠ ĠviewHolder . title View . text Ġ= Ġitem . title čĊĠĠĠĠĠĠĠ ĠviewHolder . datetime View . text Ġ= Ġitem . update _ date čĊčĊĠĠĠĠĠĠĠ Ġif Ġ( item . image _ 1 . isEmpty ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ çĶ» åĥı ãģĮ ãģªãģĦ ãģŁãĤģ ãĢģ ãģªãģĦ çĶ» åĥı ãĤĴ ãĤ»ãĥĥãĥĪ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . imageView . setImage Resource ( android . R . drawable . ic _ menu _ report _ image ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġelse { čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ èªŃãģ¿ è¾¼ ãģ¿ ä¸Ń ãģ® çĶ» åĥı ãĤĴ ãĤ»ãĥĥãĥĪ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . imageView . setImage Resource ( android . R . drawable . stat _ notify _ sync _ no anim ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ éĿŀ åĲĮ æľŁ ãģ§ çĶ» åĥı ãĤĴ ãĥĢ ãĤ¦ ãĥ³ ãĥŃ ãĥ¼ãĥī ãģĹãģ¦ è¡¨ç¤º ãģĹãģ¾ãģĻ ãĢĤ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . get (). load ( item . image _ 1 ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. error ( android . R . drawable . ic _ menu _ close _ clear _ cancel ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( android . R . drawable . ic _ menu _ report _ image ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. resize ( 3 2 0 , Ġ 2 4 0 ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. center Crop () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( view Holder . imageView ) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ ĠviewHolder . item View . setOnClickListener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ è¡Į ãĤĴ ãĤ¿ ãĥĥãĥĹ ãģĹãģŁ ãģ¨ ãģį ãģ« è©³ç´° çĶ» éĿ¢ ãĤĴ éĸĭ ãģį ãģ¾ãģĻ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" TAG ", Ġ" clicked Ġitem Ġ(% d :% S ) ". format ( position , Ġitem . title )) čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Parcelable (" item ", Ġitem ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent Fragment . find Nav Controller (). navigate ( R . id . dashboard Detail Fragment 2 , Ġbundle ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ// ĠReturn Ġthe Ġsize Ġof Ġyour Ġdataset Ġ( inv oked Ġby Ġthe Ġlayout Ġmanager ) čĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= ĠdataSet . size čĊč Ċ }