TextWatcher未立即触发

时间:2016-05-19 09:34:32

标签: android textwatcher

我在EditText上有一个TextWatcher。在afterTextChanged中,我有代码来调用Web服务,并获得结果。但是在用户输入第一个字符后立即调用它。我希望它仅在用户没有在EditText上写一段时间时触发,因此用户可以搜索两个或更多字符。我怎么能这样做?

感谢。

2 个答案:

答案 0 :(得分:1)

将在每个添加/删除的字符上调用回调。

自己开始延迟并取消它,以便在EditText发生更改时再次启动它。

答案 1 :(得分:0)

您可以在 afterTextChanged()下面执行以下操作,仅在用户输入两个或更多字符后调用webservice

@Override
    public void afterTextChanged(Editable s) {
        String enteredValue  = s.toString();
        if(enteredValue != null && enteredValue.trim().length >= 2)
        {
           // Call Webservice
        }
    }