package Ġcom . oton ish i . example . mv vm view pager . activities Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġcom . oton ish i . example . mv vm view pager . R Ċ import Ġcom . oton ish i . example . mv vm view pager . adapters . Pager Adapter Ċ import Ġcom . oton ish i . example . mv vm view pager . extensions . setup ActionBar Ċ import Ġcom . oton ish i . example . mv vm view pager . fragments . Page One Fragment Ċ import Ġcom . oton ish i . example . mv vm view pager . fragments . Page Two Fragment Ċ import Ġcom . oton ish i . example . mv vm view pager . navig ators . ViewPager Navigator Ċ import Ġcom . oton ish i . example . mv vm view pager . view models . ViewPager ViewModel Ċ import Ġkotlinx . android . synt hetic . main . activity _ view _ pager .* Ċ Ċ class ĠView Pager Activity Ġ: ĠAppCompatActivity (), ĠView Pager Navigator Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠView Pager ViewModel ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Support Navigate Up (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ view _ pager ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Navigator ( this @ ViewPager Activity ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsetup ActionBar ( R . id . toolbar ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Input ĠData " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Display Show Home Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġset ViewPager () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset ViewPager () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpage One Fragment Ġ= ĠPage One Fragment . newInstance (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset ViewModel ( this @ ViewPager Activity . viewModel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġpage Two Fragment Ġ= ĠPage Two Fragment . newInstance (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset ViewModel ( this @ ViewPager Activity . viewModel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġly _ view _ pager . adapter Ġ= ĠP ager Adapter ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( page One Fragment , Ġpage Two Fragment ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . on Activity Destroyed () ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( ly _ view _ pager . currentItem Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġly _ view _ pager . setCurrent Item ( ly _ view _ pager . currentItem Ġ- Ġ 1 , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġto Next () Ġ{ ĊĠĠĠĠĠĠĠ Ġly _ view _ pager . setCurrent Item ( ly _ view _ pager . currentItem Ġ+ Ġ 1 , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġto Result ( input Text : ĠString , Ġnumber : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠResult Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Result Activity . Key Input Text , Ġinput Text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Result Activity . Key Selected Number , Ġnumber ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} Ċ }