完美解决editText监听键盘回车会执行两次的解决方法
2015-04-27 16:59
162 查看
对于开发中有时可能会监听键盘的回车按键,但是在网上找了一种方法是
具体代码如下:
至此完美解决。当然还有一种监听setOnEditorActionListener也是同样的原理。
也可以修改editText的回车样式,即是把EditText的ImeOptions属性设置成不同的值,Enter键上就会显示不同的文字或图案
actionNone : 回车键,按下后光标到下一行
actionGo : Go,
actionSearch : 一个放大镜
actionSend : Send
actionNext : Next
actionDone : Done,隐藏软键盘,即使不是最后一个文本输入框
private OnKeyListener onKey = new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_ENTER) { login(); } return false; } };
edtTxtPassword.setOnKeyListener(onKey);会发现执行了两次,当然原因很简单,引文onkey事件包含了down和up事件,所以只需要加入一个判断即可。
具体代码如下:
private OnKeyListener onKey = new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_ENTER <span style="color:#ff0000;"> && event.getAction() == KeyEvent.ACTION_UP</span>) { myLogin(); } return false; } };
至此完美解决。当然还有一种监听setOnEditorActionListener也是同样的原理。
也可以修改editText的回车样式,即是把EditText的ImeOptions属性设置成不同的值,Enter键上就会显示不同的文字或图案
actionNone : 回车键,按下后光标到下一行
actionGo : Go,
actionSearch : 一个放大镜
actionSend : Send
actionNext : Next
actionDone : Done,隐藏软键盘,即使不是最后一个文本输入框
相关文章推荐
- Android 搜索 把软键盘上的回车键改为搜索,并且解决editText监听键盘回车会执行两次的解决方法
- android:windowSoftInputMode属性详解以及editText监听键盘回车会执行两次的解决方法
- 关于Android原生集成5+webview,监听webview返回时,执行两次onkey方法问题的解决
- stage监听键盘事件被另外的swf加载后失效的解决方法。
- 解决Spring定时计划任务重复执行两次(实例被构造两次)问题的方法
- Cocos2dx 3.2键盘监听的打开方式以及点击两次返回退出的实现方法
- 完美解决EditText被软盘遮挡和键盘弹出布局不上移
- 配置切面出现问题,执行监听前后方法执行两次情况
- (Java)JComboBox的itemStateChanged事件被选中点击执行两次的解决方法
- ajax跨域往php程序post数据时,php程序总是执行两次的解决方法
- 使用<a>标签提交action会执行两次后台方法的原因(反射机制小实例问题的解决)
- Android开发监听和屏蔽多任务键完美解决方法
- jquery trigger函数执行两次的解决方法
- 关于SearchView中onQueryTextSubmit方法执行两次的解决方法
- spring定时任务执行两次及tomcat部署缓慢问题的解决方法
- 解决Spring定时计划任务重复执行两次(实例被构造两次)问题的方法
- jquery trigger函数执行两次的解决方法
- 重写dispatchKeyEvent方法 按返回键back 执行两次的解决办法
- 解决Spring定时计划任务重复执行两次(实例被构造两次)问题的方法
- struts2执行2次(两次二次)action方法的解决办法