Android TextWatcher.afterTextChanged与TextWatcher

在什么情况下我应该使用afterTextChangedonTextChanged反之亦然?



蝴蝶不菲
浏览 2201回答 3
3回答

收到一只叮咚

这些事件按以下顺序调用:beforeTextChanged(CharSequence s,int start,int count,int after)。这意味着这些字符将被一些新文本替换。文本不可编辑。使用:当您需要查看将要更改的旧文本时。onTextChanged(CharSequence s,int start,int before,int count)。进行了更改,某些字符刚刚被替换。文本不可编辑。使用:当您需要查看文本中的哪些字符是新字符时。afterTextChanged(Editable s)。与上面相同,但是现在文本是可编辑的。使用:当您需要查看并可能编辑新文本时。如果我只是在听的更改EditText,则根本不需要使用前两种方法。我只会在第三种方法中收到新值,并在需要时更正新文本。但是,如果必须跟踪发生在值上的确切更改,则可以使用前两种方法。如果在聆听更改后还需要编辑文本,则可以使用第三种方法。

幕布斯7119047

Android Textwatcher 是一种在输入字段的文本更改时调用的触发器。afterTextChanged (Editable s)-更改文本后将调用此方法。因为您所做的任何更改都将导致递归再次调用此方法,所以您必须注意此处执行操作,否则可能导致无限循环。onTextChanged (CharSequence s, int start, int before, int count)-调用此方法来通知您,在s内,以start开头的计数字符刚刚替换了以前具有长度的旧文本。尝试通过此回调对进行更改是错误的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android