package Ġcom . v dx . chip recycler Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . v dx . chip rv . Chip RV Ċ import Ġcom . v dx . chip rv . adapters . Chip Adapter Ċ import Ġcom . v dx . chip rv . adapters . Chip ClickListener Ċ import Ġcom . v dx . chip rv . custom ui . Circular Chip ViewHolder Ċ import Ġcom . v dx . chip rv . custom ui . Circular Text Chip ViewHolder Ċ import Ġcom . v dx . chip rv . custom ui . data . Chip Data Ċ import Ġcom . v dx . chip rv . custom ui . data . Chip Text Data Ċ import Ġcom . v dx . chip rv . items . Chip Item Ċ import Ġcom . v dx . chip rv . utils . R VO rient ation ĊĊ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ ĠsetUp Chip With Image Rv () ĊĠĠĠĠĠĠĠ ĠsetUp Chip With Text Rv () ĊĠĠĠĠĠĠĠ ĠsetUp Chip With Image Rv Vertical () ĊĠĠĠĠĠĠĠ ĠsetUp Chip With Text Rv Vertical () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠsetUp Chip With Image Rv () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġre cyclerView : ĠCh ip RV < Chip Item > Ġ= ĠfindViewById ( R . id . RecyclerView ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . init ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. listener ( object Ġ: ĠCh ip ClickListener < Chip Item > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( item : ĠCh ip Item , Ġposition : ĠInt , Ġclick Event Code : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġis ĠCh ip Data ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ MainActivity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). show (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setSelection ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. layout (). linear (). orientation ( R VO rient ation . HORIZONTAL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addView (). item ( Chip Data :: class . java ). holder ( Circular Chip ViewHolder :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. layout ( R . layout . chip _ li ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġre cyclerView . addAll ( chip Lists ()) ĊĠĠĠĠĠĠĠ Ġmove To Position (( 2 Ġuntil Ġ 1 0 ). random (), Ġre cyclerView ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠsetUp Chip With Image Rv Vertical () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġre cyclerView : ĠCh ip RV < Chip Item > Ġ= ĠfindViewById ( R . id . RecyclerView 3 ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . init ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. listener ( object Ġ: ĠCh ip ClickListener < Chip Item > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( item : ĠCh ip Item , Ġposition : ĠInt , Ġclick Event Code : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġis ĠCh ip Data ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ MainActivity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). show (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setSelection ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. layout (). linear (). orientation ( R VO rient ation . VERTICAL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addView (). item ( Chip Data :: class . java ). holder ( Circular Chip ViewHolder :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. layout ( R . layout . chip _ li ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġre cyclerView . addAll ( chip Lists ()) ĊĠĠĠĠĠĠĠ Ġmove To Position (( 2 Ġuntil Ġ 1 0 ). random (), Ġre cyclerView ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun ĠsetUp Chip With Text Rv () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġre cyclerView : ĠCh ip RV < Chip Item > Ġ= ĠfindViewById ( R . id . RecyclerView 2 ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . init ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. listener ( object Ġ: ĠCh ip ClickListener < Chip Item > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( item : ĠCh ip Item , Ġposition : ĠInt , Ġclick Event Code : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġis ĠCh ip Text Data ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ MainActivity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). show (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setSelection ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. layout (). linear (). orientation ( R VO rient ation . HORIZONTAL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addView (). item ( Chip Text Data :: class . java ). holder ( Circular Text Chip ViewHolder :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. layout ( R . layout . chip _ li ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġre cyclerView . addAll ( chip Text Lists ()) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠsetUp Chip With Text Rv Vertical () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġre cyclerView : ĠCh ip RV < Chip Item > Ġ= ĠfindViewById ( R . id . RecyclerView 4 ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . init ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. listener ( object Ġ: ĠCh ip ClickListener < Chip Item > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( item : ĠCh ip Item , Ġposition : ĠInt , Ġclick Event Code : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġis ĠCh ip Text Data ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ MainActivity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). show (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setSelection ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. layout (). linear (). orientation ( R VO rient ation . VERTICAL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addView (). item ( Chip Text Data :: class . java ). holder ( Circular Text Chip ViewHolder :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. layout ( R . layout . chip _ li ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġre cyclerView . addAll ( chip Text Lists ()) ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġmove To Position ( position : ĠInt , Ġre cyclerView : ĠCh ip RV < Chip Item >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( re cyclerView . adapter Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġre cyclerView . get Chip Adapter Ġas ĠCh ip Adapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlinear LayoutManager : ĠLinearLayoutManager Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġas ĠLinearLayoutManager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlinear LayoutManager . scrollTo Position ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . moveTo Position ( position ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġchip Lists (): ĠArrayList < Chip Item > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist : ĠArrayList < Chip Data > Ġ= ĠArrayList () ĊĊĠĠĠĠĠĠĠ Ġvar Ġchip Data Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCh ip Data (" Michael ", Ġ" https :// req res . in / img / faces / 7 - image . jpg ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Data ) ĊĊĠĠĠĠĠĠĠ Ġchip Data Ġ= ĠCh ip Data (" L ind say ", Ġ" https :// req res . in / img / faces / 8 - image . jpg ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Data ) ĊĊĠĠĠĠĠĠĠ Ġchip Data Ġ= ĠCh ip Data (" To bias ", Ġ" https :// req res . in / img / faces / 9 - image . jpg ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Data ) ĊĊĊĠĠĠĠĠĠĠ Ġchip Data Ġ= ĠCh ip Data (" By ron ", Ġ" https :// req res . in / img / faces / 1 0 - image . jpg ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Data ) ĊĊĊĠĠĠĠĠĠĠ Ġchip Data Ġ= ĠCh ip Data (" Ge orge ", Ġ" https :// req res . in / img / faces / 1 1 - image . jpg ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Data ) ĊĊĠĠĠĠĠĠĠ Ġchip Data Ġ= ĠCh ip Data (" R ache l ", Ġ" https :// req res . in / img / faces / 1 2 - image . jpg ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Data ) ĊĊĠĠĠĠĠĠĠ Ġchip Data Ġ= ĠCh ip Data (" By ron ", Ġ" https :// req res . in / img / faces / 1 - image . jpg ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Data ) ĊĊĊĠĠĠĠĠĠĠ Ġchip Data Ġ= ĠCh ip Data (" T rix y ", Ġ" https :// req res . in / img / faces / 2 - image . jpg ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Data ) ĊĊĊĠĠĠĠĠĠĠ Ġchip Data Ġ= ĠCh ip Data (" B rad ", Ġ" https :// req res . in / img / faces / 3 - image . jpg ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Data ) ĊĊĠĠĠĠĠĠĠ Ġchip Data Ġ= ĠCh ip Data (" Jan et ", Ġ" https :// req res . in / img / faces / 4 - image . jpg ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Data ) ĊĊĠĠĠĠĠĠĠ Ġchip Data Ġ= ĠCh ip Data (" Char les ", Ġ" https :// req res . in / img / faces / 5 - image . jpg ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Data ) ĊĊĠĠĠĠĠĠĠ Ġchip Data Ġ= ĠCh ip Data (" Trace y ", Ġ" https :// req res . in / img / faces / 6 - image . jpg ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Data ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist Ġas ĠArrayList < Chip Item > ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġchip Text Lists (): ĠArrayList < Chip Item > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist : ĠArrayList < Chip Text Data > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġvar Ġchip Text Data Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCh ip Text Data (" Michael ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Text Data ) ĊĊĠĠĠĠĠĠĠ Ġchip Text Data Ġ= ĠCh ip Text Data (" L ind say ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Text Data ) ĊĊĠĠĠĠĠĠĠ Ġchip Text Data Ġ= ĠCh ip Text Data (" To bias ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Text Data ) ĊĊĊĠĠĠĠĠĠĠ Ġchip Text Data Ġ= ĠCh ip Text Data (" By ron ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Text Data ) ĊĊĊĠĠĠĠĠĠĠ Ġchip Text Data Ġ= ĠCh ip Text Data (" Ge orge ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Text Data ) ĊĊĠĠĠĠĠĠĠ Ġchip Text Data Ġ= ĠCh ip Text Data (" R ache l ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Text Data ) ĊĊĠĠĠĠĠĠĠ Ġchip Text Data Ġ= ĠCh ip Text Data (" By ron ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Text Data ) ĊĊĊĠĠĠĠĠĠĠ Ġchip Text Data Ġ= ĠCh ip Text Data (" T rix y ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Text Data ) ĊĊĊĠĠĠĠĠĠĠ Ġchip Text Data Ġ= ĠCh ip Text Data (" B rad ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Text Data ) ĊĊĠĠĠĠĠĠĠ Ġchip Text Data Ġ= ĠCh ip Text Data (" Jan et ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Text Data ) ĊĊĠĠĠĠĠĠĠ Ġchip Text Data Ġ= ĠCh ip Text Data (" Char les ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Text Data ) ĊĊĠĠĠĠĠĠĠ Ġchip Text Data Ġ= ĠCh ip Text Data (" Trace y ") ĊĠĠĠĠĠĠĠ Ġlist . add ( chip Text Data ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist Ġas ĠArrayList < Chip Item > ĊĠĠĠ Ġ} Ċ } ĊĊ