首页 > 解决方案 > 在android中搜索时如何设置延迟时间

问题描述

我正在搜索,我想在输入第一个关键字时会请求第二个关键字延迟2秒请求,如果小于2秒则没有请求,你能帮我想想吗?谢谢

标签: android

解决方案


一个有趣的问题,也许有几种解决方法,这是我的答案:

        editText = findViewById(R.id.editText);

        editText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int start, int before, int count) {
                if (charSequence.subSequence(start, start + 1).toString().equals(" ")) {
                    editText.setEnabled(false);
                    editText.postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            editText.setEnabled(true);
                        }
                    }, 2000);
                }
            }

            @Override
            public void afterTextChanged(Editable editable) {

            }
        });

在上面的代码中,我假设空白字符是两个关键字的分隔符,代码是不言自明的,所以省略了注释,希望有帮助!


推荐阅读