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);

Android EditText监测(TextWatcher)输入后延时500ms再搜索相关推荐

  1. Android EditText将软键盘的回车改为搜索,并监听

    需求为: 当用户在界面内点击输入框,弹出键盘,键盘右下角示意为"搜索"按钮 当用户输入内容后,点击搜索按钮将进行关键词搜索 当用户没有输入内容点击搜索按钮,将收起键盘,回到界面(这 ...

  2. Android Edittext 手机号码格式输入设置

    一. 效果图 根据需求要实现的是输入手机号码格式的数字文本,并且输入时能根据手机号码自动分隔成美观的带空格的格式,点击完成后能对手机号码验证是否是手机号码. 二. 代码实现 我使用的是动态添加代码的方 ...

  3. android edittext 手机号码,Android Edittext 手机号码格式输入设置

    一. 效果图 根据需求要实现的是输入手机号码格式的数字文本,并且输入时能根据手机号码自动分隔成美观的带空格的格式,点击完成后能对手机号码验证是否是手机号码. 二. 代码实现 我使用的是动态添加代码的方 ...

  4. Android EditText接收扫码枪输入,有时缺位,有时出现两次回车

    最近做Android项目时,需要使用外接扫码枪扫描条码,并且接收条码输入的EditText同时还要能接收商品名称的输入,在开发调试的过程中发现,使用扫码枪时会出现条码信息丢失,或者扫码输入过程中出现两 ...

  5. android设置输入框输入字符限制,Android EditText限制输入字符的方法总结

    Android EditText限制输入字符的方法总结 最近项目要求限制密码输入的字符类型, 例如不能输入中文.   现在总结一下EditText的各种实现方式,  以比较各种方法的优劣. 第一种方式 ...

  6. Android EditText之输入限制设置

    转载:https://blog.csdn.net/shenggaofei/article/details/106314909 Android EditText之输入限制设置,适用于常用的产品需求 in ...

  7. android edittext限制字节_android EditText输入限制

    zyz 发表于 2012-5-30 18:19:03 android EditText输入限制 android:digits="1234567890.+-*/%\n()" 限制输入 ...

  8. java edittext 输入监听_Android应用开发之Android EditText 监听用户输入完成的实例

    本文将带你了解Android应用开发Android EditText 监听用户输入完成的实例,希望本文对大家学Android有所帮助. 我们都知道, Android   EditText输入框,并没有 ...

  9. android edittext 输入手机号码格式变化

    android edittext 输入内容只能是xxx-xxxx-xxxx格式的手机号码 EditText phoneEt = (EditText) findViewById(R.id.phone_e ...

  10. Android EditText输入光标居于开头最开始位置

    Android EditText输入光标居于开头最开始位置 Android的EditText输入光标默认是居于整个EditText的中心位置的,如图所示: 如果欲使EditText加载后的输入光标自动 ...

最新文章

  1. php 序列化储存和转化 json_encode() json_decode($q,true)
  2. chrome xp 扫描此文件时,防病毒软件意外失败
  3. 使用OpenGL实现翻书动画
  4. Android如何把 内容复制到剪贴板
  5. 白鹭 修改底层 egret.js 库后再次编译 成 新的库
  6. centos mysql php tomcat_Linux 安装JDK Tomcat MySQL的教程(使用Mac远程访问)
  7. python播放本地视频_python opencv 读取本地视频文件 修改ffmpeg的方法
  8. 太原冶金技师学院计算机系,山西冶金技师学院2021年招生简章
  9. Nginx出现500 Internal Server Error 错误的解决方案
  10. ReactiveCocoa入门教程--第二部分
  11. CCF NOI1076 进制转换
  12. Linux设备模型(总线、设备、驱动程序和类)
  13. HFSS同轴馈电矩形贴片天线馈电点以及尺寸的计算
  14. 多线程 join 钉钉考勤
  15. 运维GO-2021年书单-产品运营 篇
  16. 东芝笔记本出现w ndows,夏日白色清新范 13.3英寸东芝L830评测
  17. MyEclipse设置字体格式和大小,及字体推荐
  18. 转载 sap FI-CO总账科目简析
  19. AutoSAR系列讲解(入门篇)1.1-AutoSAR发展
  20. matlab幂函数e,MATLAB e的幂函数拟合

热门文章

  1. Matlab R2010b 破解安装
  2. 2021泰迪杯数据分析技能赛B题解题思路分享
  3. 5G终端难占用锚点小区导致无法驻留5G
  4. 量子计算机预测未来,太厉害了吧?这台量子计算机能预测16种不同的未来!
  5. 计算机知识中h表达什么意思,计算机地基础知识hzh.ppt
  6. 基于SSM的租房管理系统
  7. 视频md5修改器苹果手机
  8. db2mysql下载_db2SQL命令
  9. 游戏运行库java下载官网_游戏运行库合集安装包(Visual C++,Microsoft .NET,Microsoft XNA,Microsoft XML等几十种)...
  10. diamond软件的使用(4)---记录一些踩过的软件坑 持续更新ing