package Ġcom . abel hu Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġkotlinx . android . synt hetic . main . item _ color . view .* Ċ import Ġjava . util .* Ċ Ċ class ĠBanner Adapter Ġ: ĠRecyclerView . Adapter < Banner Adapter . Banner Holder >() Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTag Ġ= ĠBanner Adapter :: class . simple Name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= ĠInt . MAX _ VALUE ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ= Ġposition Ġ% Ġ 1 ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠBanner Holder Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( Tag , Ġ" onCreate ViewHolder Ġwith Ġtype : Ġ$ view Type ") ĊĠĠĠĠĠĠĠ Ġreturn ĠBanner Holder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . item _ color , Ġparent , Ġfalse ), Ġview Type ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠBanner Holder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( Tag , Ġ" on Bind ViewHolder Ġwith Ġposition : Ġ$ position ") ĊĠĠĠĠĠĠĠ Ġholder . on Bind ( position ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Re cyc led ( holder : ĠBanner Holder ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( Tag , Ġ" on View Re cyc led Ġwith Ġposition : Ġ${ holder . item View . text . text }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠBanner Holder ( item View : ĠView , Ġprivate Ġval Ġview Type : ĠInt ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ ĠToast . makeText ( item View . context , Ġ" click Ġitem Ġ${ item View . text . text }", ĠToast . LENGTH _ SHORT ). show () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠĠĠĠĠ Ġfun Ġon Bind ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . tag Ġ= Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . text . text Ġ= Ġ"[ type :$ view Type ]$ position " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . text . set BackgroundColor ( Color . arg b ( Random (). nextInt ( 2 5 5 ), ĠRandom (). nextInt ( 2 5 5 ), ĠRandom (). nextInt ( 2 5 5 ), ĠRandom (). nextInt ( 2 5 5 ))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }