package Ġcom . t ord roid . adapter Ċ Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġcom . ch ad . library . adapter . base . Base Multi Item Quick Adapter Ċ import Ġcom . ch ad . library . adapter . base . view holder . Base ViewHolder Ċ import Ġcom . tur d roid . library . adapter . Section Footer Entity Ċ Ċ abstract Ġclass ĠBase Section With Footer Adapter < T Ġ: ĠSection Footer Entity , ĠV H Ġ: ĠBase ViewHolder > Ċ @ Jvm Over loads Ġconstructor (@ Layout Res Ġprivate Ġval Ġsection Head Res Id : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Layout Res Ġprivate Ġval Ġsection Foot Res Id : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Layout Res Ġprivate Ġval Ġlayout Res Id : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata : ĠMutable List < T >? Ġ= Ġnull ) ĊĠĠĠ Ġ: ĠBase Multi Item Quick Adapter < T , ĠV H >( data ) Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġadd ItemType ( Section Footer Entity . HEADER _ TYPE , Ġsection Head Res Id ) ĊĠĠĠĠĠĠĠ Ġadd ItemType ( Section Footer Entity . FO OTER _ TYPE , Ġsection Foot Res Id ) ĊĠĠĠĠĠĠĠ Ġadd ItemType ( Section Footer Entity . NORMAL _ TYPE , Ġlayout Res Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ éĩį åĨĻ æŃ¤ å¤Ħ ï¼Į è®¾ç½® ĠHeader ĊĠĠĠĠ Ġ* Ġ@ param Ġhelper ĠViewHolder ĊĠĠĠĠ Ġ* Ġ@ param Ġitem Ġdata ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġabstract Ġfun Ġconvert Header ( helper : ĠV H , Ġitem : ĠT ) ĊĊĠĠĠ Ġprotected Ġabstract Ġfun Ġconvert Footer ( helper : ĠV H , Ġitem : ĠT ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ éĩį åĨĻ æŃ¤ å¤Ħ ï¼Į è®¾ç½® ĠDiff ĠHeader ĊĠĠĠĠ Ġ* Ġ@ param Ġhelper ĠV H ĊĠĠĠĠ Ġ* Ġ@ param Ġitem ĠT ? ĊĠĠĠĠ Ġ* Ġ@ param Ġpayload s ĠMutable List < Any > ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġopen Ġfun Ġconvert Header ( helper : ĠV H , Ġitem : ĠT , Ġpayload s : ĠMutable List < Any >) Ġ{} ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġconvert Footer ( helper : ĠV H , Ġitem : ĠT , Ġpayload s : ĠMutable List < Any >) Ġ{} ĊĊĊĠĠĠ Ġoverride Ġfun Ġis Fixed ViewType ( type : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . is Fixed ViewType ( type ) Ġ|| Ġtype Ġ== ĠSection Footer Entity . HEADER _ TYPE Ġ|| Ġtype Ġ== ĠSection Footer Entity . FO OTER _ TYPE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠV H , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( holder . item ViewType Ġ== ĠSection Footer Entity . HEADER _ TYPE ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġset Full Span ( holder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconvert Header ( holder , ĠgetItem ( position Ġ- Ġheader Layout Count )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( holder . item ViewType Ġ== ĠSection Footer Entity . FO OTER _ TYPE ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconvert Footer ( holder , ĠgetItem ( position Ġ- Ġfooter Layout Count )) ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Bind ViewHolder ( holder , Ġposition ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠV H , Ġposition : ĠInt , Ġpayload s : ĠMutable List < Any >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( payload s . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Bind ViewHolder ( holder , Ġposition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( holder . item ViewType Ġ== ĠSection Footer Entity . HEADER _ TYPE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconvert Header ( holder , ĠgetItem ( position Ġ- Ġheader Layout Count ), Ġpayload s ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( holder . item ViewType Ġ== ĠSection Footer Entity . FO OTER _ TYPE ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconvert Footer ( holder , ĠgetItem ( position Ġ- Ġfooter Layout Count ), Ġpayload s ) ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Bind ViewHolder ( holder , Ġposition , Ġpayload s ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }