package Ġcom . de ane z ra . ui Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . de ane z ra . network . model . Plant Ċ import Ġcom . de ane z ra . databinding . Item Plant Binding Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠPl ant Data Adapter Ġ@ Inject Ġconstructor (): ĊĠĠĠ ĠRecyclerView . Adapter < Plant Data Adapter . Network Data ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠItem Plant Binding ĊĊĠĠĠ Ġprivate Ġvar Ġnetwork DataList Ġ= Ġmutable ListOf < Plant >() ĊĊĠĠĠ Ġvar Ġon Item Click : Ġ(( record List : ĠPl ant ) Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġcontext : ĠContext ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġadd ItemList ( network DataList : ĠMutable List < Plant >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . network DataList Ġ= Ġnetwork DataList ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠNetwork Data ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠItem Plant Binding ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġcontext Ġ= Ġparent . context ĊĠĠĠĠĠĠĠ Ġreturn ĠNetwork Data ViewHolder ( binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠNetwork Data ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind View ( network DataList . get ( position )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnetwork DataList . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠNetwork Data ViewHolder ( val Ġbinding : ĠItem Plant Binding ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind View ( plant : ĠPl ant ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . tv Common Name . text Ġ= Ġplant . common Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . tv Sc ientific Name . text Ġ= Ġplant . scientific Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . tv Year . text Ġ= Ġplant . year ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( it ). load ( plant . imageUrl ). into ( binding . plant ImageView ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Click ?. invoke ( plant ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ