package Ġcom . jint in . view model sample Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . input method . Input Method Manager Ċ import Ġandroid . widget . EditText Ċ import Ġandroidx . activity . view Models Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . core . widget . add TextChanged Listener Ċ import Ġcom . jint in . view model sample . databinding . Activity Main Binding Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel Ġby Ġview Models < Main ViewModel >() ĊĊĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠActivity Main Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĠĠĠĠĠĠĠ Ġbinding . edit . add TextChanged Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . setText ( it . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġshow Keyboard ( binding . edit ) ĊĠĠĠĠĠĠĠ ĠviewModel . text LiveData . observe ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . text . text Ġ= Ġ" Text : Ġ$ it " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠviewModel . text Length LiveData . observe ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . length . text Ġ= Ġ" Length : Ġ$ it " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Keyboard ( edit : ĠEditText ) Ġ{ ĊĠĠĠĠĠĠĠ Ġedit . post Delayed ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedit . request Focus () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= Ġget System Service ( Context . INPUT _ METHOD _ SERVICE ) Ġas ĠInput Method Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanager . show Soft Input ( edit , ĠInput Method Manager . SHOW _ IMP LICIT ) ĊĠĠĠĠĠĠĠ Ġ}, Ġ 5 0 0 ) ĊĠĠĠ Ġ} Ċ }