android edittext设置actionSearch不生效的处理

来源:互联网 发布:交友软件挣钱 编辑:程序博客网 时间:2024/06/04 19:48

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

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

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

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

edittext.setImeOptions(EditorInfo.IME_ACTION_SEARCH);

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

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

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


特此记录。

0 0