Edittext 监听输入完成
2016-01-22 15:39
309 查看
最近项目中有个需求,更改标题判断输入结束调用API更改标题。开始直接设置的TextWatcher,然后在afterTextChanged事件里调用API更改标题,然后发现每输入一个字都会调用一次API并提示操作成功,体验十分不好。后面尝试了多种方法后用handler.postDelayed解决问题新建一个 Runnable
private Runnable delayRunnable = new Runnable() { @Override public void run() { updateName(title); } };
然后在Editext的TextWatcher中的onTextChanged方法里判断Runnable若不为空就移除,在afterTextChanged中延迟启动Runnable
private TextWatcher watcher = new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if(delayRun!=null){ handler.removeCallbacks(delayRun); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { handler.postDelayed(delayRun, 2000); } };0.0
相关文章推荐
- Gradle build设置自动log开关
- spring mvc --xml
- JVM学习笔记(5)之GC类型
- linux yum 命令 详解
- Codeforces - Educational Codeforces Round 6C - Pearls in a Row
- DBM、RBM资料汇总
- 设计模式基本原则
- eclipse创建项目时出现appcompat_v7包及解决办法
- &#26159 类似编码用Java转换成字符串
- Linux内核之环境搭建(二)
- jQuery attr() 和 jQuery prop()
- Flex上传文件
- eclipse创建项目时出现appcompat_v7包及解决办法
- 排序算法总结
- 打标签
- USACO ditch
- 一只R语言de爬虫
- java运算符及二进制、八进制、十六进制
- Android_野生程序员_入门方法
- 论文的表达(二)