package Ġcom . nk du y . sample Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . FragmentManager Ċ import Ġandroidx . fragment . app . Fragment Pager Adapter Ċ import Ġcom . nk du y . sample . fragments . Advanced Fragment Ċ import Ġcom . nk du y . sample . fragments . Basic Fragment Ċ import Ġcom . nk du y . sample . fragments . Contacts Fragment Ċ import Ġcom . nk du y . sample . fragments . Programming Languages Fragment Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠVIEW P AGER _ COUNT Ġ= Ġ 4 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠPAGE _ INDEX _ BASIC Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠPAGE _ INDEX _ ADV ANCE Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠPAGE _ INDEX _ L ANGU AGES Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠPAGE _ INDEX _ CONTACT S Ġ= Ġ 3 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġview _ pager . adapter Ġ= ĠView Pager Adapter ( support FragmentManager , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠView Pager Adapter Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġfm : ĠFragment Manager , ĊĠĠĠĠĠĠĠ Ġval ĠmContext : ĠContext ? ĊĠĠĠ Ġ) Ġ: ĠFragment Pager Adapter ( fm , ĠBE HAV IOR _ RE SU ME _ ONLY _ CURRENT _ FRAGMENT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// internal ĠView Pager Adapter Ġclass , Ġwith Ġ 3 Ġfragments . ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠFragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPAGE _ INDEX _ BASIC Ġ-> ĠBasic Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPAGE _ INDEX _ ADV ANCE Ġ-> ĠAdvanced Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPAGE _ INDEX _ L ANGU AGES Ġ-> ĠProgramming Languages Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPAGE _ INDEX _ CONTACT S Ġ-> ĠContact s Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Not Ġexpecting Ġ$ position .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠVIEW P AGER _ COUNT ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġfor Ġthe ĠpageTitle Strip ĠView Ġat Ġthe Ġtop Ġof Ġthe Ġview pager ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Page Title ( position : ĠInt ): ĠCharSequence ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPAGE _ INDEX _ BASIC Ġ-> Ġreturn ĠmContext ?. resources ?. getString ( R . string . basic _ fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPAGE _ INDEX _ ADV ANCE Ġ-> Ġreturn ĠmContext ?. resources ?. getString ( R . string . advanced _ fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPAGE _ INDEX _ L ANGU AGES Ġ-> Ġreturn ĠmContext ?. resources ?. getString ( R . string . programming _ languages _ fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPAGE _ INDEX _ CONTACT S Ġ-> Ġreturn ĠmContext ?. resources ?. getString ( R . string . contacts _ fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ