我要搜索,我想在输入第一个关键字时然后请求第二个关键字延迟2秒才能请求,如果少于2秒则没有请求,您能帮我个忙吗?谢谢
答案 0 :(得分:0)
一个有趣的问题,也许有几种解决方法,这是我的答案:
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) {
}
});
在上面的代码中,我假设空白字符是两个关键字的分隔符,并且代码是自我解释的,因此省略了注释,希望对您有所帮助!