package Ġnet . app tr onic . test . commons _ sample _ app . bind ers . tabs Ċ Ċ import Ġandroid . view . View Ċ import Ġnet . app tr onic . core . android . view model . View Binder Ċ import Ġnet . app tr onic . core . android . view model . bindings . navigation . bind Navigator Ċ import Ġnet . app tr onic . core . entity . function . map Ċ import Ġnet . app tr onic . test . commons _ sample _ app . R Ċ import Ġnet . app tr onic . test . commons _ sample _ app . databinding . Tabs Binding Ċ import Ġnet . app tr onic . test . commons _ sample _ app . tabs . Tabs ViewModel Ċ Ċ class ĠTabs View Binder Ġ: ĠView Binder < Tabs ViewModel >() Ġ{ ĊĊĠĠĠ Ġoverride Ġvar Ġlayout Res Id : ĠInt ? Ġ= ĠR . layout . tabs ĊĊĠĠĠ Ġprivate Ġval Ġview Binding Ġby Ġview Binding ( Tabs Binding :: bind ) ĊĊĠĠĠ Ġoverride Ġfun Ġon BindView () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( view Binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind Navigator ( tab Container , ĠviewModel . tab Navigator ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind Tab ( tab 1 , ĠviewModel , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind Tab ( tab 2 , ĠviewModel , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind Tab ( tab 3 , ĠviewModel , Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind Tab ( tab 4 , ĠviewModel , Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbind Tab ( view : ĠView , ĠviewModel : ĠTabs ViewModel , Ġindex : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . tab Navigator . content . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . visible Index Ġ== Ġindex ĊĠĠĠĠĠĠĠ Ġ}. subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . is Activated Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġview . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . select Tab ( index ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }