Android小技巧(二)监听EditText是否输入完毕(用于机器扫码自动输入)
2017-11-22 19:16
204 查看
预想方案:
通过Handle设置300毫秒延时,如果监听到下一次输入距离上一次输入的时间少于300毫秒,就在afterTextChanged 方法中remove掉延时器,如果在300毫秒之外就代表输入完毕
通过Handle设置300毫秒延时,如果监听到下一次输入距离上一次输入的时间少于300毫秒,就在afterTextChanged 方法中remove掉延时器,如果在300毫秒之外就代表输入完毕
具体代码如下
Handler handler = new Handler(); Runnable runnable; etInput.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(final Editable s) { //如果在300毫秒之内又输入了,就会再次返回,然后就再次remove掉了上次 //如果300毫秒内不输入了,就不会执行remove了,就直接跳转了 //原理:每次都执行跳转流程,但是有个条件,下一次不会返回的情况下,下次一旦返回就把上次的跳转操作取消了 if (runnable != null) { handler.removeCallbacks(runnable); Log.v("tag", "---" + s.toString()); } runnable = new Runnable() { @Override public void run() { Log.v("tag", "跳转======" + s.toString()); } }; Log.v("tag", "(((((" + s.toString()); handler.postDelayed(runnable, 300); } });
相关文章推荐
- 【android学习】EditText输入监听,小写字母自动转换为大写字母
- Android EditText 千分位格式化 删除也要自动格式化 监听小数点让用户只能输入小数点后几位
- android、Java下判断两个String是否相等 、EditText输入是否为空,限定输入数字的实现
- Android中验证EditText输入的是否为支付宝账号
- Android判断EditText是否有输入内容的方法
- Android EditText 输入回车符自动跳转至下一个EditText
- Android EditText 的<requestFocus />用于点击tab键或enter键焦点自动进入下一个输入框
- Android EditText 监听用户输入完成
- Android 监听EdiText 检测输入银行卡号每四位自动空格
- Android 之 Edittext输入四位自动空格
- android - EditText监听输入多少个字符
- android、Java下判断两个String是否相等 、EditText输入是否为空,限定输入数字的实现 总结
- 【EditText】Android验证密码文本框是否输入字符
- 4000 Android判断EditText是否输入了内容
- android、Java下判断两个String是否相等 、EditText输入是否为空,
- Android EditText 输入完毕 点击空白区域键盘自动退出
- Android初级教程_监听EditText输入文字的字数
- Android 监听EditText文本输入 EditText监听事和输入事件
- Android 如何让EditText不自动获取焦点 在项目中,一进入一个页面, EditText默认就会自动获取焦点。 那么如何取消这个默认行为呢? 在网上找了好久,有点 监听软键盘事件
- Android EditText 监听输入