package Ġcom . st x . x hb . en jo yl ife . ui . adapter Ċ Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . view . View Ċ import Ġcom . ch ad . library . adapter . base . Base ViewHolder Ċ import Ġcom . ch ad . library . adapter . base . Multiple Item Rv Adapter Ċ import Ġcom . st x . x hb . en jo yl ife . data . entity . Item Ċ import Ġcom . st x . x hb . en jo yl ife . ui . adapter . provider . Banner Item Provider Ċ import Ġcom . st x . x hb . en jo yl ife . ui . adapter . provider . Text Item Provider Ċ import Ġcom . st x . x hb . en jo yl ife . ui . adapter . provider . Video Item Provider Ċ Ċ /** Ċ Ġ* Ġ@ author : Ġx iao ha ib in . Ċ Ġ* Ġ@ time : Ġ 2 0 1 8 / 7 / 1 2 Ċ Ġ* Ġ@ mail : x hb _ 1 9 9 4 0 9 @ 1 6 3 . com Ċ Ġ* Ġ@ github : https :// github . com / xiao ha ib in Ċ Ġ* Ġ@ describe : Ċ Ġ*/ Ċ class ĠVideo Recycler Adapter ( data : ĠMutable List < Item > ?) Ġ: ĠMultiple Item Rv Adapter < Item , ĠBase ViewHolder >( data ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm ItemClickListener : ĠVideo Item Provider . setOn ItemClickListener ? Ġ= Ġnull ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠV IDE O Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġval ĠTEXT Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġval ĠB AN NER Ġ= Ġ 3 ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġfinish Initialize () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġregister Item Provider () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Provider Delegate . register Provider ( Text Item Provider ()) ĊĠĠĠĠĠĠĠ Ġval Ġvideo Item Provider Ġ= ĠVideo Item Provider () ĊĠĠĠĠĠĠĠ Ġm Provider Delegate . register Provider ( video Item Provider ) ĊĠĠĠĠĠĠĠ Ġm Provider Delegate . register Provider ( Banner Item Provider ()) ĊĠĠĠĠĠĠĠ Ġvideo Item Provider . setItem ClickListener ( object Ġ: ĠVideo Item Provider . setOn ItemClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Click ( view : ĠView , Ġdata : ĠItem ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm ItemClickListener ?. on Item Click ( view , Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ViewType ( data : ĠItem ?): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ(" video " Ġ== Ġdata ?. type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠV IDE O ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( data ?. type ?. startsWith (" banner ") !! Ġ&& ĠText Utils . isEmpty ( data . data . action Url )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠB AN NER ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTEXT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset ItemClickListener ( item ClickListener : ĠVideo Item Provider . setOn ItemClickListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm ItemClickListener Ġ= Ġitem ClickListener ĊĠĠĠ Ġ} Ċ }