Android EditText监测(TextWatcher)输入后延时500ms再搜索
来源:互联网 发布:java二叉树遍历相互求 编辑:程序博客网 时间:2024/05/19 03:46
TextWatcher用于监测文字的变化,即时搜索在很多场景下都有使用。但是当搜索量很大时,短时间内输入很多的字母时,由于每改变一个字母就要去搜索搜索速度会大大下降。那该怎么办呢?这里的解决方案就是但用户输入完成时再去执行搜索,比如500ms内文字没有改变,则判断为用户输入完成,否则取消执行搜索。下面是使用Message、Handler具体的实现代码:
TextWatcher watcher = new TextWatcher() { @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub String ss = s.toString().replace(" ",""); Edit_str =ss;
if(myHandler3.hasMessages(MSG_MYSEARCH)){ myHandler3.removeMessages(MSG_MYSEARCH); } Message msg3 = new Message(); msg3.what = MSG_MYSEARCH; /*if(Edit_str.length()<=1) myHandler3.sendMessage(msg3); else*/ myHandler3.sendMessageDelayed(msg3,500); }};
class MyHandler3 extends Handler { @Override public void handleMessage(Message msg3) { try { super.handleMessage(msg3); } catch (Exception e) { e.printStackTrace(); } switch (msg3.what) { case MSG_MYSEARCH://添加要执行的内容 //search_task = new SearchTask(MainActivity.this, Edit_str); //search_task.execute(); //viewPager.getAdapter().notifyDataSetChanged(); break; default: break; } }}search_edit.addTextChangedListener(watcher);
1 0
- Android EditText监测(TextWatcher)输入后延时500ms再搜索
- Android:EditText动态输入监听TextWatcher
- Android EditText 之 TextWatcher
- android TextWatcher 监听textview和edittext的文字输入改变
- android edittext 输入变化实时监听对象TextWatcher
- Android TextWatcher三个回调详解,监听EditText的输入
- Android TextWatcher三个回调详解,监听EditText的输入
- 详解EditText输入监听TextWatcher
- android通过TextWatcher监测输入框中输入的字符个数
- android editview 设置TextWatcher 输入监听后产生崩溃
- Android EditText TextWatcher应用实例
- Android TextWatcher监控EditText,TextView
- android edittext textwatcher的用法
- Android TextWatcher监控EditText中的输入内容并限制其输入字符个数
- Android TextWatcher监控EditText中的输入内容并限制其输入字符个数
- Android TextWatcher监控EditText中的输入内容并限制其输入字符个数
- Android TextWatcher监控EditText中的输入内容并限制其输入字符个数
- Android TextWatcher监控EditText中的输入内容并限制其输入字符个数
- textarea回车清空内容后有空格或者换行()
- linux设备驱动之总线、设备、驱动
- PHP中,PHP环境搭建,使用WAMPServer出现的问题
- Linux中gcc,g++常用编译选项
- git创建分支&提交到远程库的代码
- Android EditText监测(TextWatcher)输入后延时500ms再搜索
- iOS开发-JavaScriptCore的使用-WebiOS开发
- android添加地址中的省市县乡村镇的递进选择和回调
- 深入浅出ExtJS 第七章 弹出窗口
- json:map空值插入json
- C语言 子函数返回一个局部指针变量的疑惑
- Python 中的文件操作方法
- c++函数的回调详解
- 浅析Spring IoC源码(六)BeanFactoryPostProcessor