package Ġcom . z eb ro studio . rx low poly Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . Text Watcher Ċ import Ġandroid . view . View Ċ import Ġandroid . view . View .* Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . annotation . Color Res Ċ import Ġandroidx . annotation . String Res Ċ import Ġcom . google . android . material . text field . TextInput EditText Ċ Ċ fun ĠContext . color Res (@ Color Res Ġid : ĠInt ) Ġ= Ġresources . getColor ( id ) !! Ċ Ċ fun ĠContext . string Res (@ String Res Ġid : ĠInt ) Ġ= ĠgetString ( id ) !! Ċ Ċ fun ĠContext . show Toast ( message : ĠString , Ġlength : ĠInt Ġ= ĠToast . LENGTH _ LONG ) Ġ{ ĊĠ ĠToast . makeText ( this , Ġmessage , Ġlength ). show () Ċ } Ċ Ċ fun ĠView . visible () Ġ{ ĊĠ Ġvisibility Ġ= ĠVIS IBLE Ċ } Ċ Ċ fun ĠView . g one () Ġ{ ĊĠ Ġvisibility Ġ= ĠG ONE Ċ } Ċ Ċ fun ĠView . invisible () Ġ{ ĊĠ Ġvisibility Ġ= ĠIN VISIBLE Ċ } Ċ Ċ fun ĠView . disable () Ġ{ ĊĠ Ġis Enabled Ġ= Ġfalse Ċ } Ċ Ċ fun ĠView . enable () Ġ{ ĊĠ Ġis Enabled Ġ= Ġtrue Ċ } Ċ Ċ private Ġclass ĠText ChangeListener ( ĊĠ Ġprivate Ġval Ġafter Text Change : Ġ( editable : ĠEdit able ?) Ġ-> ĠUnit , ĊĠ Ġprivate Ġval Ġbefore TextChanged : Ġ( text : ĠCharSequence ?) Ġ-> ĠUnit , ĊĠ Ġprivate Ġval Ġon TextChanged : Ġ( text : ĠCharSequence ?) Ġ-> ĠUnit Ċ ) Ġ: ĠText Watcher Ġ{ ĊĠ Ġoverride Ġfun Ġafter TextChanged ( editable : ĠEdit able ?) Ġ{ ĊĠĠĠ Ġafter Text Change ( editable ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġbefore TextChanged ( text : ĠCharSequence ?, Ġp 1 : ĠInt , Ġp 2 : ĠInt , Ġp 3 : ĠInt ) Ġ{ ĊĠĠĠ Ġbefore TextChanged ( text ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon TextChanged ( text : ĠCharSequence ?, Ġp 1 : ĠInt , Ġp 2 : ĠInt , Ġp 3 : ĠInt ) Ġ{ ĊĠĠĠ Ġon TextChanged ( text ) ĊĠ Ġ} Ċ } Ċ Ċ fun ĠText Input EditText . listen ToText Change ( ĊĠ Ġafter TextChanged : Ġ( editable : ĠEdit able ?) Ġ-> ĠUnit Ġ= Ġ{}, ĊĠ Ġbefore TextChanged : Ġ( text : ĠCharSequence ?) Ġ-> ĠUnit Ġ= Ġ{}, ĊĠ Ġon TextChanged : Ġ( text : ĠCharSequence ?) Ġ-> ĠUnit Ġ= Ġ{} Ċ ) Ġ= Ġadd TextChanged Listener ( Text ChangeListener ( after TextChanged , Ġbefore TextChanged , Ġon TextChanged ))