java - Android - requestFocus 关闭键盘

标签 java android android-layout

当用户按键盘上的 Enter 键时,我将焦点从一个 AutoCompleteTextView 切换到另一个 AutoCompleteTextView。问题是当下一个 AutoCompleteTextView 获得焦点时键盘总是隐藏。有什么办法可以防止这种情况发生吗? 这是我用来切换焦点的代码:

field1.setOnKeyListener(new View.OnKeyListener() {
                @Override
                public boolean onKey(View v, int keyCode, KeyEvent event) {
                    if (keyCode == KeyEvent.KEYCODE_ENTER) {
                        field1.dismissDropDown();
                        field2.requestFocus();

                        return true;
                    }
                    return false;
                }
            });

我没有在声明 field1 和 field2 的 XML 文件中使用任何 imeOptions。

最佳答案

是的,切换焦点会使键盘消失。一个快速修复方法是以编程方式告诉键盘保持可见:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

关于java - Android - requestFocus 关闭键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24869255/

相关文章:

java - 是否可以安装所有 Eclipse 插件?

java - 安卓 |获取当前位置的北/东南/东/西经纬度和经度范围

java - 在第二个 Intent 中刷新数组列表

android - 无法加载 memtrack 模块(没有这样的文件或目录)

java - QT 或 java 哪个环境更便携?您建议使用哪个环境来满足我的应用程序需求?

java - 是否有一个 LinkedHashSet/Map 等效项,并为插入的重复项保留顺序?

android - 在计算/隔离函数内运行 Firebase ML Vision API 调用

Android - 微调器 View 超出 ScrollView 尺寸

java - 禁用Http GET方法后,如何对其进行单元测试?

java - 计算控制台输入中的字符并将其保存到新数组中