android edittext设置actionSearch不生效的处理

今天遇到了一个问题是,需求要求项目的一个EditText,实现想苹果app一样, 在输入法的软键盘上显示搜索的操作。

遇到这个问题的第一个想法就是给EditText设置一个android:ImeOptions="actionSearch";

然后,运行,测试,发现实际效果并没有想的那样。

疑惑之余,开始找问题,又换成在代码中设置

edittext.setImeOptions(EditorInfo.IME_ACTION_SEARCH);

结果发现还是不行,这下就有点郁闷了。之前也做过的项目,也用到了这种方式,怎么就不行了呢。

于是,找到了之前写的EditText,对比了两个设置的属性。发现唯一的差别就是,之前的输入框按照要求只能显示一行的内容,因此多加了一条属性android:singleLine="true";那好,我也把这句话加上,结果测试,成功。

分析了一下原因,才明白,键盘上的回车是用来换行使用的。他的优先级比ImeOptions中的值要高(暂且这么认为)。当你设置了singleLine之后,回车换行的作用也就没有了。这时候你的actionSearch就生效了。


特此记录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值