android修改软键盘的回车键为搜索键以及点击时执行两次监听事件的问题
来源:互联网 发布:ui设计用什么软件 编辑:程序博客网 时间:2024/06/08 07:07
android项目中要实现这样一个需求,在搜索框中输入关键词,在手机弹出的软键盘中,回车键变为搜索键,点击搜索键执行搜索。
1、修改EditText属性:
<EditText android:id="@+id/et_search" android:layout_width="100dp" android:layout_height="25dp" android:textSize="12sp" android:hint="请输入关键词" android:imeOptions="actionSearch" android:singleLine="true"/>
android:imeOption="actionSearch"的作用是将回车两字改为搜索,
android:singleLine="true"的作用是防止搜索框换行。
2、OnKeyListener事件:
et_search=(EditText)findViewById(R.id.et_search); et_search.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { //是否是回车键 if (keyCode == KeyEvent.KEYCODE_ENTER) { //隐藏键盘 ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE)) .hideSoftInputFromWindow(SearchActivity.this.getCurrentFocus() .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); //搜索 search(); } return false; } });
做到这一步,前面提到的项目需求基本满足了。
3、点击时执行两次监听事件的问题:
执行上述代码我发现每次点击搜索都会执行两次搜索方法,后来发现时忘了没有加event.getAction() == KeyEvent.ACTION_DOWN这句判断。
修改代码如下:
et_search=(EditText)findViewById(R.id.et_search); et_search.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { //是否是回车键 if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN) { //隐藏键盘 ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE)) .hideSoftInputFromWindow(SearchActivity.this.getCurrentFocus() .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); //搜索 search(); } return false; } });
0 0
- android修改软键盘的回车键为搜索键以及点击时执行两次监听事件的问题
- android修改软键盘的回车键为搜索键以及点击时执行两次监听事件的问题
- 解决 android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题
- 解决 android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题
- 解决Android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题
- android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题解决
- android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题解决
- android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题解决
- Android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题解决
- android监听软键盘回车键并且解决默认点击两次的问题
- 修改软键盘的回车键为搜索键
- Android 搜索 把软键盘上的回车键改为搜索,并且解决editText监听键盘回车会执行两次的解决方法
- android设置软键盘搜索键以及监听搜索键点击事件
- android设置软键盘搜索键以及监听搜索键点击事件
- Android 设置软键盘搜索键以及监听搜索键点击事件
- android软键盘回车键的点击事件处理
- android软键盘回车键的点击事件处理
- 点击软键盘搜索键搜索事件(启动Activity)被执行两次
- Maven简介1
- HDU 4965 (矩阵快速幂)
- java中多态时编译以及运行成员变量及函数分析
- mongodb的聚合函数的$sort 方法运用 和$sort + $match 顺序优化。
- phpstorm注册码以及整个编辑器都使用自定义主题
- android修改软键盘的回车键为搜索键以及点击时执行两次监听事件的问题
- cocoa pods 安装报错
- 计算字节数
- Masonry的简单使用
- 使用CSS绘制基础的对话框图案的代码示例
- 【转】alloc、init你弄懂50%了吗?
- 利用 hadoop 的 FileSystem copyFromLocalFile 方法实现文件上传HDFS中 Hadoop 版本 2.7.0
- 太阳的后裔
- Servlet 与 CGI 的比较