/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 7 ĠL ingo Champ ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . li ul ish uo . ok download . sample . comp reh ensive Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . design . widget . Bottom Navigation View Ċ import Ġcom . li ul ish uo . ok download . Unified Listener Manager Ċ import Ġcom . li ul ish uo . ok download . sample . R Ċ import Ġcom . li ul ish uo . ok download . sample . base . Base Sample Activity Ċ import Ġcom . li ul ish uo . ok download . sample . comp reh ensive . multiple . Multiple Task Fragment Ċ import Ġcom . li ul ish uo . ok download . sample . comp reh ensive . queue . Queue Fragment Ċ import Ġcom . li ul ish uo . ok download . sample . comp reh ensive . single . Single Task Fragment Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ /** Ċ Ġ* ĠOn Ġthis Ġdemo Ġyou Ġcan Ġsee Ġa Ġcomprehensive Ġdemo Ġwith Ġseveral Ġtabs Ġswitch Ġamong Ġpages . Ċ Ġ*/ Ċ class ĠComp reh ensive Activity Ġ: ĠBase Sample Activity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġtitle Res () Ġ= ĠR . string . comp reh ensive _ case _ title ĊĊĠĠĠ Ġprivate Ġval Ġm On Navigation ItemSelected Listener Ġ= ĠBottom Navigation View . On Navigation ItemSelected Listener Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . navigation _ single Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Manager . beginTransaction (). replace ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . container , Ġsingle Task Fragment ). commit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ On Navigation ItemSelected Listener Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . navigation _ multiple Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Manager . beginTransaction (). replace ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . container , Ġmultiple Task Fragment ). commit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ On Navigation ItemSelected Listener Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . navigation _ queue Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Manager . beginTransaction (). replace ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . container , Ġqueue Fragment ). commit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ On Navigation ItemSelected Listener Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsingle Task Fragment : ĠSingle Task Fragment ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmultiple Task Fragment : ĠMultiple Task Fragment ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġqueue Fragment : ĠQueue Fragment ĊĊĠĠĠ Ġ// ĠBecause ĠI Ġwant Ġsame Ġtask Ġwith Ġseveral Ġlistener , Ġso Ġuse ĠUn ified Listener Manager ĊĠĠĠ Ġval Ġlistener Manager Ġ= ĠUn ified Listener Manager () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġsingle Task Fragment Ġ= ĠSingle Task Fragment . newInstance () ĊĠĠĠĠĠĠĠ Ġmultiple Task Fragment Ġ= ĠMultiple Task Fragment . newInstance () ĊĠĠĠĠĠĠĠ Ġqueue Fragment Ġ= ĠQueue Fragment . newInstance () ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġnavigation . setOn Navigation ItemSelected Listener ( m On Navigation ItemSelected Listener ) ĊĊĠĠĠĠĠĠĠ Ġfragment Manager . beginTransaction (). replace ( R . id . container , Ġsingle Task Fragment ). commit () ĊĠĠĠ Ġ} Ċ } Ċ