TextWatcher 没有立即触发
TextWatcher not immediately triggered
我在 EditText 上有一个 TextWatcher。在 afterTextChanged 中,我有调用 Web 服务并获取结果的代码。但它会在用户输入第一个字符后立即被调用。我希望它仅在用户一段时间未在 EditText 上书写时触发,以便用户可以搜索两个或更多字符。我该怎么做?
谢谢。
回调将在每个 added/removed 个字符上调用。
自行启动延迟,并在 EditText 发生变化时取消延迟以再次启动。
您可以在 afterTextChanged() 上执行以下操作,仅在用户输入两个或更多字符后才调用网络服务
@Override
public void afterTextChanged(Editable s) {
String enteredValue = s.toString();
if(enteredValue != null && enteredValue.trim().length >= 2)
{
// Call Webservice
}
}
我在 EditText 上有一个 TextWatcher。在 afterTextChanged 中,我有调用 Web 服务并获取结果的代码。但它会在用户输入第一个字符后立即被调用。我希望它仅在用户一段时间未在 EditText 上书写时触发,以便用户可以搜索两个或更多字符。我该怎么做?
谢谢。
回调将在每个 added/removed 个字符上调用。
自行启动延迟,并在 EditText 发生变化时取消延迟以再次启动。
您可以在 afterTextChanged() 上执行以下操作,仅在用户输入两个或更多字符后才调用网络服务
@Override
public void afterTextChanged(Editable s) {
String enteredValue = s.toString();
if(enteredValue != null && enteredValue.trim().length >= 2)
{
// Call Webservice
}
}