package Ġcom . sk . splash . ui . fragments Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . annotation . Call Super Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . view binding . View Binding Ċ import Ġandroidx . view pager 2 . widget . ViewPager 2 Ċ import Ġcom . google . android . material . tabs . Tab Layout Ċ import Ġcom . google . android . material . tabs . Tab Layout Mediator Ċ import Ġcom . sk . splash . ui . adapters . Tabs Adapter Ċ Ċ abstract Ġclass ĠTabs Fragment < B Ġ: ĠView Binding > Ġ: ĠBase Fragment < B >() Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġmedi ator : ĠTab Layout Mediator ? Ġ= Ġnull ĊĊĠĠĠ Ġabstract Ġval Ġview Pager : ĠView Pager 2 ĊĠĠĠ Ġabstract Ġval Ġtab Layout : ĠTab Layout ĊĊĠĠĠ Ġabstract Ġval Ġtabs Count : ĠInt ĊĊĠĠĠ Ġabstract Ġfun Ġget Tab Fragment ( position : ĠInt ): ĠFragment ĊĊĠĠĠ Ġabstract Ġfun Ġget Tab Title ( position : ĠInt ): ĠString ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġtabs Adapter Ġ= ĠTabs Adapter ( this , Ġtabs Count , Ġ:: get Tab Fragment ) ĊĠĠĠĠĠĠĠ Ġview Pager . adapter Ġ= Ġtabs Adapter ĊĠĠĠĠĠĠĠ Ġmedi ator Ġ= ĠTab Layout Mediator ( tab Layout , Ġview Pager ) Ġ{ Ġtab , Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtab . text Ġ= Ġget Tab Title ( position ) ĊĠĠĠĠĠĠĠ Ġ}. also Ġ{ Ġit . attach () Ġ} ĊĠĠĠĠĠĠĠ Ġview Pager . off screen Page Limit Ġ= Ġtabs Count Ġ- Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġmedi ator ?. detach () ĊĠĠĠĠĠĠĠ Ġmedi ator Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġview Pager . adapter Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠ Ġ} Ċ }