package Ġcom . example . sage . food share book . adapters Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . support . v 7 . widget . Card View Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . engine . Disk Cache Strategy Ċ import Ġcom . example . sage . food share book . R Ċ import Ġcom . example . sage . food share book . models . D ish Ċ Ċ import Ġjava . util . ArrayList Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠMar isa Ġon Ġ 2 1 / 1 2 / 2 0 1 7 . Ċ Ġ*/ Ċ Ċ class ĠDis hes ListAdapter ( private Ġval Ġcontext : ĠContext ) Ġ: ĠRecyclerView . Adapter < Dis hes ListAdapter . ViewHolder >() Ġ{ ĊĠĠĠ Ġprivate Ġval Ġdataset : ĠArrayList < D ish > ĊĠĠĠ Ġprivate Ġvar Ġlistener : ĠListener ? Ġ= Ġnull ĊĊĠĠĠ Ġinterface ĠListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġopen D ish ( dish : ĠD ish ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Listener ( listener : ĠListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . listener Ġ= Ġlistener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġdataset Ġ= ĠArrayList () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Dis hes List ( dishes : ĠArrayList < D ish >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdataset . addAll ( dishes ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . dish _ item , Ġparent , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġview . setOnClickListener Ġ{ Ġview Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( listener Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Ġ= Ġdataset [ view . tag Ġas ĠInt ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener !!. open D ish ( d ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġd Ġ= Ġdataset [ position ] ĊĠĠĠĠĠĠĠ Ġholder . Tv D ish Name . text Ġ= Ġd . name ĊĠĠĠĠĠĠĠ Ġholder . Tv D ish Desc . text Ġ= Ġd . description ĊĠĠĠĠĠĠĠ Ġholder . card View . tag Ġ= Ġposition ĊĠĠĠĠĠĠĠ ĠG lide . with ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( d . image ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. center Crop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. cross Fade () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. disk Cache Strategy ( Disk Cache Strategy . ALL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( holder . Iv D ish Pic ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdataset . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠI v D ish Pic : ĠImageView ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠT v D ish Name : ĠTextView ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠT v D ish Desc : ĠTextView ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcard View : ĠCard View ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠI v D ish Pic Ġ= ĠitemView . findViewById ( R . id . iv _ dish _ pic ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT v D ish Name Ġ= ĠitemView . findViewById ( R . id . tv _ dish _ name ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT v D ish Desc Ġ= ĠitemView . findViewById ( R . id . tv _ dish _ desc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcard View Ġ= ĠitemView Ġas ĠCard View ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ