package Ġcom . f uj ian li an . g ank kotlin Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . Fragment State Pager Adapter Ċ import Ġcom . f uj ian li an . g ank kotlin . fragment . collect . Collect Fragment Ċ import Ġcom . f uj ian li an . g ank kotlin . fragment . home . Home Fragment Ċ import Ġcom . f uj ian li an . g ank kotlin . fragment . My Fragment Ċ import Ġcom . f uj ian li an . g ank kotlin . fragment . sort . Sort Fragment Ċ import Ġcom . google . android . material . bottomnavigation . Bottom Navigation View . On Navigation ItemSelected Listener Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlist Ġ= ĠArrayList < Fragment >() ĊĠĠĠ Ġprivate Ġval Ġlist 1 Ġ= ĠArrayList < Int >() ĊĊĠĠĠ Ġprivate Ġval Ġadapter Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġobject Ġ: ĠFragment State Pager Adapter ( support FragmentManager ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠFragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġlist [ position ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġlist . size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġon Navigation ItemSelected Listener Ġ= ĠOn Navigation ItemSelected Listener Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . navigation _ home Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetTitle ( R . string . title _ home ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy ViewPager . setCurrent Item ( 0 , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ On Navigation ItemSelected Listener Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . navigation _ dashboard Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetTitle ( R . string . title _ dashboard ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy ViewPager . setCurrent Item ( 1 , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ On Navigation ItemSelected Listener Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . navigation _ collect Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetTitle ( R . string . title _ collect ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy ViewPager . setCurrent Item ( 2 , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ On Navigation ItemSelected Listener Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . navigation _ person Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetTitle ( R . string . title _ person ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy ViewPager . setCurrent Item ( 3 , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ On Navigation ItemSelected Listener Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Home Fragment ()) ĊĠĠĠĠĠĠĠ Ġlist . add ( Sort Fragment ()) ĊĠĠĠĠĠĠĠ Ġlist . add ( Collect Fragment ()) ĊĠĠĠĠĠĠĠ Ġlist . add ( My Fragment ()) ĊĠĠĠĠĠĠĠ Ġlist 1 . add ( R . id . navigation _ home ) ĊĠĠĠĠĠĠĠ Ġlist 1 . add ( R . id . navigation _ dashboard ) ĊĠĠĠĠĠĠĠ Ġlist 1 . add ( R . id . navigation _ collect ) ĊĠĠĠĠĠĠĠ Ġlist 1 . add ( R . id . navigation _ person ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġmy ViewPager . off screen Page Limit Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġmy ViewPager . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġnav _ view . setOn Navigation ItemSelected Listener ( on Navigation ItemSelected Listener ) ĊĠĠĠ Ġ} Ċ } Ċ