package Ġcom . ang cy o . item Ċ Ċ import Ġcom . ang cy o . dsl adapter . Dsl Adapter Item Ċ import Ġcom . ang cy o . item . style . Edit Style Config Ċ import Ġcom . ang cy o . item . style . I Edit Item Ċ import Ġcom . ang cy o . widget . Dsl ViewHolder Ċ import Ġcom . ang cy o . widget . base . clear Listeners Ċ import Ġcom . ang cy o . widget . base . on Text Change Ċ import Ġcom . ang cy o . widget . base . restore Selection Ċ Ċ /** Ċ Ġ* Ġ è¾ĵåħ¥ æ¡Ĩ item åŁº ç±» Ċ Ġ* ĠEmail : ang cy o @ 1 2 6 . com Ċ Ġ* Ġ@ author Ġang cy o Ċ Ġ* Ġ@ date Ġ 2 0 2 0 / 0 3 / 2 3 Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 ĠSh en Z hen ĠO & M ĠCloud ĠCo ., ĠLtd . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ Ċ open Ġclass ĠD sl Base Edit Item Ġ: ĠD sl Base Label Item () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** åħģè®¸ é»ĺè®¤ è¾ĵåħ¥ çļĦ åŃĹç¬¦ éķ¿åº¦ */ ĊĠĠĠĠĠĠĠ Ġvar ĠDEFAULT _ MAX _ INPUT _ LENGTH Ġ= Ġ 3 0 ĊĊĠĠĠĠĠĠĠ Ġ/** è¾ĵåħ¥ æ¡Ĩ æĸĩæľ¬ æĶ¹åıĺ èĬĤ æµģ æĹ¶ éķ¿ , Ġæ¯ « ç§Ĵ */ ĊĠĠĠĠĠĠĠ Ġvar ĠDEFAULT _ INPUT _ SHA KE _ DELAY Ġ= Ġ 3 0 0 L ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġitem EditText : ĠCharSequence ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem EditText Style . text Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ç»Ł ä¸Ģæł· å¼ı éħįç½® */ ĊĠĠĠ Ġvar Ġitem EditText Style Ġ= ĠEdit Style Config () ĊĊĠĠĠ Ġ/** æĸĩæľ¬ æĶ¹åıĺ */ ĊĠĠĠ Ġvar Ġitem Text Change : Ġ( CharSequence ) Ġ-> ĠUnit Ġ= Ġ{ ĊĠĠĠĠĠĠĠ Ġon Item Text Change ( it ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** æĸĩæľ¬ æĶ¹åıĺ åİ» é¢ĳ éĻĲåĪ¶ , Ġ è´Ł æķ° è¡¨ç¤º ä¸į å¼ĢåĲ¯ , Ġå¦Ĥæŀľ çŁŃ æĹ¶éĹ´ åĨħ åħ³éĹŃ çķĮéĿ¢ äºĨ , Ġ åı¯èĥ½ä¼ļ èİ·åıĸ ä¸įåĪ° æľĢ æĸ°çļĦ è¾ĵåħ¥ æ¡Ĩ æķ°æį® */ ĊĠĠĠ Ġvar Ġitem Text Change Sh ake Delay Ġ= ĠDEFAULT _ INPUT _ SHA KE _ DELAY ĊĊĠĠĠ Ġ// çĶ¨äºİ æģ ¢å¤į åħī æłĩ çļĦ ä½įç½® ĊĠĠĠ Ġvar Ġ_ last Edit Selection Start Ġ= Ġ- 1 ĊĠĠĠ Ġvar Ġ_ last Edit Selection End Ġ= Ġ- 1 ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġitem Layout Id Ġ= ĠR . layout . dsl _ edit _ item ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Bind ( ĊĠĠĠĠĠĠĠ Ġitem Holder : ĠD sl ViewHolder , ĊĠĠĠĠĠĠĠ Ġitem Position : ĠInt , ĊĠĠĠĠĠĠĠ Ġadapter Item : ĠD sl Adapter Item ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Item Bind ( item Holder , Ġitem Position , Ġadapter Item ) ĊĊĠĠĠĠĠĠĠ Ġitem Holder . ev ( R . id . lib _ edit _ view )?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem EditText Style . update Style ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear Listeners () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Text Change Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ last Edit Selection Start Ġ= Ġselection Start ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ last Edit Selection End Ġ= Ġselection End ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem EditText Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// æĶ¾åľ¨ æľĢåĲİ çĽĳåĲ¬ , Ġ éĺ² æŃ¢ é¦ĸ æ¬¡ setInput Text , Ġ å°± è§¦åıĳ äºĭä»¶ . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Text Change ( shake Delay Ġ= Ġitem Text Change Sh ake Delay ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Changing Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Text Change ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrestore Selection (_ last Edit Selection Start , Ġ_ last Edit Selection End ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item View Detached To Window ( item Holder : ĠD sl ViewHolder , Ġitem Position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Item View Detached To Window ( item Holder , Ġitem Position ) ĊĠĠĠĠĠĠĠ Ġ// item Holder . ev ( R . id . lib _ edit _ view )?. clear Listeners () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item View Re cyc led ( item Holder : ĠD sl ViewHolder , Ġitem Position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Item View Re cyc led ( item Holder , Ġitem Position ) ĊĠĠĠĠĠĠĠ Ġitem Holder . ev ( R . id . lib _ edit _ view )?. clear Listeners () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġon Item Text Change ( text : ĠCharSequence ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġconfig EditText Style ( action : ĠEdit Style Config . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġitem EditText Style . action () ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** å¿«éĢŁ èİ·åıĸ å¯¹åºĶ Item çļĦåĢ¼ */ Ċ fun ĠD sl Adapter Item . item EditText (): ĠCharSequence ? Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( this Ġis ĠD sl Base Edit Item ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . item EditText ĊĠĠĠ Ġ} Ġelse Ġif Ġ( this Ġis ĠI Edit Item ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . item EditText ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} Ċ }