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
        }
    }