为什么需要 TextWatcher
Why TextWatcher needed
因此,在阅读了一些有关 TextWatcher 的文档后,我仍然不太确定为什么需要它。对真实示例(无代码)的任何帮助都会很棒。谢谢。
文本观察器:
TextWatcher 用于在用户输入数据时监视 EditText 内容。它允许您在 EditText 上输入时跟踪每个字符。文本观察器对于 login/register 屏幕验证等场景非常有用。
TextWatcher
有以下三种方法:
方法一:afterTextChanged(Editable s)
=> 调用此方法是为了通知您,在 s 中的某处,文本已被更改。
方法二:beforeTextChanged(CharSequence s, int start, int count, int after)
=> 调用此方法通知你,在s内,从start开始的count个字符即将被替换为长度在后的新文本。
方法三:onTextChanged(CharSequence s, int start, int before, int count)
=> 调用此方法是为了通知您,在 s 内,从 start 开始的 count 个字符刚刚替换了之前具有 length 的旧文本。
需要 TextWatcher 才能知道字段文本是否已更改。
假设你有一个手机号码,你需要检查它的长度。作为一个标准的手机号码应该包含 10 位数字。旁边有一个错误字段,一旦编辑文本长度大于 10,该字段就会消失。您怎么知道现在长度大于 10?
为了克服这个问题,我们使用了 textwatcher 方法来监视 edittext 字段。通常我们会在 AfterTextChanged 回调中检查 edittext 的长度,它会实时工作。之后你可以让你的逻辑背后的长度大于10后做什么。
这只是一个例子。您可以通过更多方式使用 textwatcher。
因此,在阅读了一些有关 TextWatcher 的文档后,我仍然不太确定为什么需要它。对真实示例(无代码)的任何帮助都会很棒。谢谢。
文本观察器:
TextWatcher 用于在用户输入数据时监视 EditText 内容。它允许您在 EditText 上输入时跟踪每个字符。文本观察器对于 login/register 屏幕验证等场景非常有用。
TextWatcher
有以下三种方法:
方法一:afterTextChanged(Editable s)
=> 调用此方法是为了通知您,在 s 中的某处,文本已被更改。
方法二:beforeTextChanged(CharSequence s, int start, int count, int after)
=> 调用此方法通知你,在s内,从start开始的count个字符即将被替换为长度在后的新文本。
方法三:onTextChanged(CharSequence s, int start, int before, int count)
=> 调用此方法是为了通知您,在 s 内,从 start 开始的 count 个字符刚刚替换了之前具有 length 的旧文本。
需要 TextWatcher 才能知道字段文本是否已更改。
假设你有一个手机号码,你需要检查它的长度。作为一个标准的手机号码应该包含 10 位数字。旁边有一个错误字段,一旦编辑文本长度大于 10,该字段就会消失。您怎么知道现在长度大于 10?
为了克服这个问题,我们使用了 textwatcher 方法来监视 edittext 字段。通常我们会在 AfterTextChanged 回调中检查 edittext 的长度,它会实时工作。之后你可以让你的逻辑背后的长度大于10后做什么。
这只是一个例子。您可以通过更多方式使用 textwatcher。