package Ġcom . example . app write demo application . ui . Localization Ċ Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . example . app write demo application . R Ċ import Ġcom . example . app write demo application . databinding . Fragment Database Binding Ċ import Ġcom . example . app write demo application . databinding . Fragment Localization Binding Ċ import Ġcom . example . app write demo application . ui . Database . Database ViewModel Ċ Ċ class ĠLocalization Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠFragment Localization Binding ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠLocalization ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater Ġ, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ? Ġ, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġview Ġand Ġobtain Ġan Ġinstance Ġof Ġthe Ġbinding Ġclass ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠData Binding Util . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinflater , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . fragment _ localization , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġbinding . getLocale . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . getLocale () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Provider ( this ). get ( Localization ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ ĠviewModel . error . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent ?. getContent IfNot Handled ()?. let Ġ{ Ġ// ĠOnly Ġproceed Ġif Ġthe Ġevent Ġhas Ġnever Ġbeen Ġhandled ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( require Context (), Ġit . message Ġ, ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . response . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent ?. getContent IfNot Handled ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . response TV . setText ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} Ċ Ċ }