Android 监听键盘输入(实现搜索、发送、完成等等)

本文总结了在Android应用中监听键盘输入和控制编辑器行为的三种方法:dispatchEvent、KeyListener和setOnEditorActionListener。通过实例展示了如何利用这些技术实现消息发送、搜索等功能,以及不同键盘右下角键的设置和XML/Java代码配合使用。

在Android App的实际开发中,时常会需要监听软键盘的输入事件。

所以个人在此进行一个总结。

例如:微信和QQ聊天的消息发送,你会发现他的聊天框并没有发送的控件,软键盘的换行或者某个按钮会变成发送;在某些浏览器的输入框,输入内容后,软件盘的某个按钮会有搜索的字样,还有填写内容时的完成按钮等等,这些都可以通过监听键盘和输入框的一些配置实现这些功能。

方法一:dispatchEvent

使用dispatchEvent方法进行键盘的监听,例如我在输入某个用户ID后,点击Enter键盘直接进行搜索。

override fun dispatchKeyEvent(event: KeyEvent?): Boolean { 
        //&& event.getAction() != KeyEvent.ACTION_UP这个条件是因为dispatchKeyEvent被调用了俩次,导致重复请求,所以把up这个动作去掉
        if (event?.keyCode == KeyEvent.KEYCODE_ENTER && event.action != KeyEvent.ACTION_UP) {
            val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
            if (inputMethodManager.isActive) {
        //收起当前界面的键盘
                inputMethodManager.hideSoftInputFromWindow(this.currentFocus?.windowToken, 0)
            }
            searchUser()//调用接口,搜索用户
           
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&岁月不待人&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值