Android 监听软键盘搜索键

简介:

  现在很多的Android应用都有了数据搜索功能,在以往的设计上,会使用搜索框+搜索按钮来实现搜索功能; 现在呢,越来越流行的是,去除搜索按钮,直接监听软键盘搜索键,当用户输入完搜索关键字后,直接点击软件盘上的“所搜”键,查询要搜索等信息。


  要实现上面的搜索效果,当然,我们要监听软键盘的搜索键。

EditText mEditSearch = (EditText)this.findViewById(R.id.mEditSearch);

mEditSearch.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_UNSPECIFIED) {

                    String keytag = mEditSearch.getText().toString().trim();

                    if (TextUtil.isEmpty(keytag)) {
                        Toast.makeText(PlanSearchActivity.this, "请输入搜索关键字", Toast.LENGTH_SHORT).show();

                        return false;
                    }

					// 搜索功能主体

                    return true;
                }
                return false;
            }
        });


当然,只有这样还不够,还需要设置EdtiText属性:

<EditText
            android:id="@+id/editSearch"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="6dp"
            android:layout_marginBottom="6dp"
            android:background="#FFFFFF"
            android:gravity="center_vertical"
            android:hint="输入关键字"
            android:imeOptions="actionSearch"
            android:paddingBottom="0dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:paddingTop="0dp"
            android:singleLine="true"
            android:textColor="#555555"
            android:textColorHint="#AAAAAA"
            android:textSize="14sp" />

有两个地方需要设置android:imeOptions="actionSearch"及android:singleLine="true";如果不设置这两个属性,你将无法看到搜索键(软键盘默认显示的键是“确定”)。

如此这般,就OK啦!欢迎互相学习!
如有疑问,欢迎进QQ群:487786925( Android研发村 )

相关文章
|
6月前
|
生物认证 开发工具 Android开发
安卓设备签到,还是用视觉智能平台人脸搜索1:N
安卓设备签到,还是用视觉智能平台人脸搜索1:N
155 2
|
3月前
|
Android开发
解决在Android Compose中点击空白处收回软键盘
解决在Android Compose中点击空白处收回软键盘
|
8月前
|
Android开发
Android 中实现模拟搜索的功能详解
Android 中实现模拟搜索的功能详解
57 0
|
4月前
|
XML 监控 Java
Android App开发之事件交互Event中检测软键盘和物理按键讲解及实战(附源码 演示简单易懂)
Android App开发之事件交互Event中检测软键盘和物理按键讲解及实战(附源码 演示简单易懂)
119 0
|
4月前
|
Java 测试技术 持续交付
百度搜索:蓝易云【NetMock简介:简化 Java,Android和Kotlin多平台中的HTTP请求测试?】
使用NetMock,您可以在单元测试、集成测试和端到端测试中轻松地模拟和验证HTTP请求和响应,而无需实际发送请求到外部服务。这样可以提高测试的可靠性和可控性,并加快测试执行的速度。无论是在开发过程中还是在持续集成环境中,NetMock都可以帮助您更轻松地进行HTTP请求测试,提高代码质量和稳定性。
41 1
|
8月前
|
Android开发
Android 实现点击输入框以外的区域隐藏软键盘
Android 实现点击输入框以外的区域隐藏软键盘
95 0
|
8月前
|
Android开发
Android InputMethodManager进入页面后自动弹出软键盘
Android InputMethodManager进入页面后自动弹出软键盘
325 0
|
8月前
|
XML Android开发 数据格式
Android 基于监听的事件处理机制详解
Android 基于监听的事件处理机制详解
58 0
|
8月前
|
Android开发
Android 自定义弹窗 附带搜索过滤功能
前两天要求在项目中添加个小功能,今天正好有时间随手写了一个小demo,过程分享给大家。以后如果有此类需求可直接移植使用。
|
10月前
|
XML Java Android开发
Android 实现按钮监听的几种方式
Android 实现按钮监听的几种方式