package Ġm . lu igi . elite boy . adapters Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . FragmentManager Ċ import Ġandroidx . fragment . app . Fragment State Pager Adapter Ċ import Ġm . lu igi . elite boy . el ited angerous . ed sm . data . Station Ċ import Ġm . lu igi . elite boy . pages . Station Page Fragment Ċ import Ġm . lu igi . elite boy . views . Dynamic Height ViewPager Ċ Ċ class ĠStation Page Adapter ( private Ġval Ġstations : ĠArrayList < Station >, Ġfragment Manager : ĠFragment Manager ) Ġ: ĊĠĠĠ ĠFragment State Pager Adapter ( fragment Manager , ĠBE HAV IOR _ RE SU ME _ ONLY _ CURRENT _ FRAGMENT ) Ġ{ ĊĊĊĠĠĠ Ġprivate Ġvar Ġcurrent Position Ġ= Ġ- 1 ĊĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġstations . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠFragment Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠStation Page Fragment ( stations [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Primary Item ( container : ĠViewGroup , Ġposition : ĠInt , Ġ` object `: ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . set Primary Item ( container , Ġposition , Ġ` object `) ĊĠĠĠĠĠĠĠ Ġif Ġ( container Ġ! is ĠDynamic Height ViewPager ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ Ġ// ĠDo Ġnothing Ġif Ġit 's Ġnot Ġa Ġcompatible ĠView Pager ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( position Ġ!= Ġcurrent Position ) Ġ{ Ġ// ĠIf Ġthe Ġposition Ġhas Ġchanged , Ġtell ĠWr apping ViewPager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= Ġ` object ` Ġas ĠFragment ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( fragment . view Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Position Ġ= Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . on Page Changed ( fragment . view !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }