package Ġcom . mm m . my pup u . ui . adapter ĊĊ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Paint Ċ import Ġandroid . os . Build Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . mm m . my pup u . R Ċ import Ġcom . mm m . my pup u . ui . bean . Goods Bean Ċ import Ġcom . mm m . my pup u . util . My Util . Companion . item Add Click Animator Ċ import Ġcom . mm m . my pup u . util . My Util . Companion . item Sub Click Animator Ċ import Ġkotlinx . android . synt hetic . main . item _ cr azy _ discount . view .* Ċ import Ġkotlinx . android . synt hetic . main . item _ recommend . view . iv Add Ċ import Ġkotlinx . android . synt hetic . main . item _ recommend . view . iv Goods Ċ import Ġkotlinx . android . synt hetic . main . item _ recommend . view . iv Sub Ċ import Ġkotlinx . android . synt hetic . main . item _ recommend . view . tv Num Ċ import Ġkotlinx . android . synt hetic . main . item _ recommend . view . tv Original Price Ċ import Ġkotlinx . android . synt hetic . main . item _ recommend . view . tv Price Ċ import Ġkotlinx . android . synt hetic . main . item _ recommend . view . tv Quantity Ċ import Ġkotlinx . android . synt hetic . main . item _ recommend . view . tv Remark Ċ import Ġkotlinx . android . synt hetic . main . item _ recommend . view . tv Subtitle Ċ import Ġkotlinx . android . synt hetic . main . item _ recommend . view . tv Title Ċ import Ġkotlinx . android . synt hetic . main . item _ recommend . view . tv Y 2 Ċ Ċ class ĠCr azy Discount Adapter ( var Ġlist : ĠArrayList < Goods Bean >, Ġvar Ġcontext : ĠContext ) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĠĠĠ Ġprivate Ġval ĠTYPE _ IMAGE Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġval ĠTYPE _ GOO DS Ġ= Ġ 1 ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( view Type Ġ== ĠTYPE _ IMAGE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠitemView Img Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . item _ cr azy _ discount _ head , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġholder 1 Ġ= ĠH older ( item View Img ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġholder 1 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠitemView Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . item _ cr azy _ discount , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġholder 2 Ġ= ĠH older ( item View ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġholder 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgoods : ĠGood s Bean Ġ= Ġlist [ position ] ĊĠĠĠĠĠĠĠ Ġif Ġ( TYPE _ GOO DS Ġ== Ġholder . item ViewType ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tag Ġ= Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . iv Goods . setImage Resource ( goods . m Img Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tv Title . text Ġ= Ġgoods . m Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tv Subtitle . text Ġ= Ġgoods . m Subtitle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tv Quantity . text Ġ= Ġgoods . m Quantity ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tv Remark . text Ġ= Ġgoods . m Remark ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tv Price . text Ġ= Ġgoods . m Price . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tv Original Price . text Ġ= Ġgoods . m O ri Price . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ç»Ļ æĸĩåŃĹ æ·»åĬł åĪłéĻ¤ çº¿ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tv Y 2 . paint Flags Ġ= ĠPaint . STRI KE _ TH RU _ TEXT _ FLAG ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tv Original Price . paint Flags Ġ= ĠPaint . STRI KE _ TH RU _ TEXT _ FLAG ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( goods . m Remark . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tv Remark . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Add Click ( holder , Ġposition Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . ll Item Cr azy . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġgoods . toString (), ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( position Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTYPE _ IMAGE ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTYPE _ GOO DS ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġitem Add Click ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġnum Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġval Ġgoods : ĠGood s Bean Ġ= Ġlist [ position ] ĊĊĠĠĠĠĠĠĠ Ġholder . item View . iv Add . setOnClickListener ( object Ġ: ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Requires Api ( Build . VERSION _ CODES . O ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ ĠLog . e (" çĤ¹åĩ» äºĨ ï¼ļ ", Ġ"+ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( num Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tv Num . text Ġ= Ġnum . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Add Click Animator ( holder ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( num Ġ> Ġ 0 Ġ&& Ġnum Ġ< Ġgoods . m Num ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tv Num . text Ġ= Ġnum . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Log . e (" æķ°éĩı ", Ġholder . item View . tv Num . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( num Ġ== Ġgoods . m Num ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ+ Ġ åıĺ æĪĲ çģ ° èī² ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . iv Add . setImage Resource ( R . drawable . add _ unable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tv Num . text Ġ= Ġnum . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( holder . item View . context , Ġ" æĹłæ³ķ è´Ń ä¹° æĽ´å¤ļ äºĨ ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġholder . item View . iv Sub . setOnClickListener ( object Ġ: ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( num Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// æĶ¶ èµ· Ġ- ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum -- ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Sub Click Animator ( holder ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . iv Add . setImage Resource ( R . drawable . add _ able ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tv Num . text Ġ= Ġnum . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLog . e (" çĤ¹åĩ» äºĨ - Ġ", Ġnum . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( num Ġ> Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum -- ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . tv Num . text Ġ= Ġnum . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLog . e (" æķ°éĩı ", Ġholder . item View . tv Num . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ Ċ } Ċ