android - 在android中搜索时如何设置延迟时间
问题描述
我正在搜索,我想在输入第一个关键字时会请求第二个关键字延迟2秒请求,如果小于2秒则没有请求,你能帮我想想吗?谢谢
解决方案
一个有趣的问题,也许有几种解决方法,这是我的答案:
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) {
}
});
在上面的代码中,我假设空白字符是两个关键字的分隔符,代码是不言自明的,所以省略了注释,希望有帮助!
推荐阅读
- laravel - Laravel 雄辩的查询 WhereNotIn 与 WhereNotNull
- python - 如何在 Python 中从列表中删除重复列表
- docker - 如何在 Docker 容器中设置附加卷的权限?
- python - 我如何才能在“内存中”专门使用弹性搜索索引?
- google-cloud-platform - API 网关不返回响应
- python - OperationFailure:尽管凭据正确,但在插入 MongoDB 集合时身份验证失败
- bash - 将命令行参数附加到 Bash 数组
- c - 带查找表的乘法逆
- python - 为什么 DF 有时会自动更新,有时不会?
- node.js - Mongoose 多个查询在第二次查询后返回