package Ġcn . sh y coder . wan android app . view . custom Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . Text Watcher Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . Motion Event Ċ import Ġandroid . widget . EditText Ċ import Ġcn . sh y coder . wan android app . R Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠSh y Coder Ġon Ġ 1 2 / 3 / 2 0 1 8 . Ċ Ġ*/ Ċ class ĠDe letable EditText ( context : ĠContext ?, Ġattrs : ĠAttributeSet ?) Ġ: ĠEditText ( context , Ġattrs ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm Deleted Drawable : ĠDrawable ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġm Deleted Drawable Ġ= Ġresources . get Drawable ( R . drawable . delete able _ edit text _ delete _ icon , Ġnull ) ĊĠĠĠĠĠĠĠ Ġthis . add TextChanged Listener ( object Ġ: ĠText Watcher Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġafter TextChanged ( s : ĠEdit able ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbefore TextChanged ( s : ĠCharSequence ?, Ġstart : ĠInt , Ġcount : ĠInt , Ġafter : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġå½ĵ EditText çļĦ éĹ® åĳ Ĺ åĨħå®¹ åıĳçĶŁ æĶ¹åıĺ çļĦæĹ¶åĢĻ åĪ¤æĸŃ æĺ¯åĲ¦ éľĢè¦ģ æĺ¾ç¤º icon ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon TextChanged ( s : ĠCharSequence ?, Ġstart : ĠInt , Ġbefore : ĠInt , Ġcount : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Deleted Icon () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® æĸĩæľ¬ åĨħå®¹ åĪ¤æĸŃ æĺ¯åĲ¦ éľĢè¦ģ æĺ¾ç¤º icon ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġset Deleted Icon () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġright Ġ= Ġif Ġ( text . isNotEmpty ()) Ġm Deleted Drawable Ġelse Ġnull ĊĠĠĠĠĠĠĠ Ġthis . set Compound Draw ables Relative With Intr insic Bounds ( null , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ£Ģ æµĭ æĺ¯åĲ¦ éľĢè¦ģ æ¸ħ éĻ¤ æĸĩæľ¬ ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġ@ Suppress Lint (" Click ableView Accessibility ") ĊĠĠĠ Ġoverride Ġfun Ġon Touch Event ( event : ĠMotion Event ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( event !!. action Ġ!= ĠMotion Event . ACTION _ DOWN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġevent . x ĊĠĠĠĠĠĠĠ Ġ// æ¸ħ éĻ¤ text ĊĠĠĠĠĠĠĠ Ġif Ġ( x Ġ> Ġthis . width Ġ- Ġthis . m Deleted Drawable !!. intrinsic Width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . setText ("") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ }