Android中EditText 设置 imeOptions 无效问题的解决方法
程序员文章站
2024-02-26 10:13:58
有时候我们需要在edittext 输出完之后 需要在键盘出现 右下角变成“go”或“前往 搜索时;通常我们需要设置android:imeoptions属性。an...
有时候我们需要在edittext 输出完之后 需要在键盘出现 右下角变成“go”或“前往 搜索时;通常我们需要设置android:imeoptions属性。android:imeoptions的值有actiongo、 actionsend 、actionsearch、actiondone等
但是今天我发现设置了无效 那是因为我设置了 android:maxlines="1"
解决方法 就是去掉 android:maxlines="1" 设置 android:singleline="true" 有必要还需要 inputtype设置为text
网上有一种监听点击回车 搜索的写法 这种写法 会执行两次 解决方法是
edittext.setoneditoractionlistener(new textview.oneditoractionlistener() { public boolean oneditoraction(textview v, int actionid, keyevent event) { if (actionid==editorinfo.ime_action_send ||(event!=null&&event.getkeycode()== keyevent.keycode_enter)) { //do something; return true; } return false; } });
解决方法是 1 (ps 这种方法我感觉写法有点多余)
public boolean oneditoraction(textview v, int actionid, keyevent event) { //以下方法防止两次发送请求 再判断动作 if (actionid == editorinfo.ime_action_send || (event != null && event.getkeycode() == keyevent.keycode_enter)) { switch (event.getaction()) { case keyevent.action_up: //发送请求 string keyword = et_search.gettext().tostring().trim(); if (null == keyword) keyword = ""; dismisspopup(); logutils.d("向服务器发送搜索请求:" + keyword); //发起查询 searchbykeyword(keyword); hidesoftinput(); return true; default: return true; } } return false; }
还有一种写法 直接监听actionid等于搜需要的时间即可
edittext edittext = (edittext) contentview.findviewbyid(r.id.edittext); edittext.setoneditoractionlistener(new oneditoractionlistener() { @override public boolean oneditoraction(textview v, int actionid, keyevent event) { if (actionid == editorinfo.ime_action_search) { toast.maketext(getactivity(), "1111111",toast.length_short).show(); } return false; } });
以上所述是小编给大家介绍的android中edittext 设置 imeoptions 无效问题的解决方法,希望对大家有所帮助
推荐阅读
-
Android开发中调用系统相册上传图片到服务器OPPO等部分手机上出现短暂的显示桌面问题的解决方法
-
Android中EditText 设置 imeOptions 无效问题的解决方法
-
Android使用TextView,设置onClick属性无效的解决方法
-
Java中设置JAVA_HOME无效的解决方法
-
Android开发中调用系统相册上传图片到服务器OPPO等部分手机上出现短暂的显示桌面问题的解决方法
-
ASP.NET在MVC中MaxLength特性设置无效的解决方法
-
ASP.NET在MVC中MaxLength特性设置无效的解决方法
-
Android中EditText光标在4.0中的bug及解决方法
-
Android中EditText光标在4.0中的bug及解决方法
-
Android编程中activity启动时出现白屏、黑屏问题的解决方法