【问题标题】:Keep soft keyboard open when enter key is pressed按下回车键时保持软键盘打开
【发布时间】:2011-08-26 09:04:28
【问题描述】:

好吧,当用户在编辑文本字段后按下“确定”按钮时,我试图阻止软键盘关闭。 实际上,我想要实现的是:当按下“确定”按钮时,该字段被解析,如果有效,它会启动另一个活动。 这很容易。

但是,当该字段无效时,我希望软键盘保持打开状态。 那是……更复杂的地狱。 如果有人知道如何实现这样的事情......

提前致谢。

编辑:我所说的确定按钮是软键盘上的确定按钮。

【问题讨论】:

    标签: android android-softkeyboard


    【解决方案1】:

    actionId 等于 IME_ACTION_DONE 时,将 OnEditorActionListener 附加到您的文本字段并从其 onEditorAction 方法返回 true。这将防止软键盘隐藏:

    EditText txtEdit = (EditText) findViewById(R.id.txtEdit);
    txtEdit.setOnEditorActionListener(new OnEditorActionListener() {
    
      public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_DONE) {
          // your additional processing... 
          return true;
        } else {
          return false;
        }
      }
    
    });
    

    【讨论】:

    • 根据您的 EditText android:imeOptions 值,您可能需要对照 IME_NULLIME_ACTION_GO 等检查 actionId。
    • 完美运行!一直在找这个。
    • 感谢@Idolon 的提醒。我的 actionId == 66,但我在 EditorInfo 类中找不到这个常量。
    • 这不适用于较新版本的 android 或模拟器
    • @AlwaysConfused 难怪,我发布这个答案已经 6 年多了 :)。但是,谢谢,让我知道 - 我会检查最新版本中的更改并相应地更新答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 1970-01-01
    相关资源
    最近更新 更多