【问题标题】:Show 'Done' key on softkeyboard在软键盘上显示“完成”键
【发布时间】:2011-11-29 08:25:07
【问题描述】:

在我的应用程序中将文本输入到 EditText 时,我需要软键盘来显示“完成”键。在 Android 2.1 设备上显示“完成”按钮,但在 2.3 或更高版本上不显示。

这是我使用的代码:

    e.setImeOptions(EditorInfo.IME_ACTION_DONE);

    e.setOnEditorActionListener(
            new EditText.OnEditorActionListener() {
                @Override
                public boolean onEditorAction(TextView v, int actionId,KeyEvent event) {
                    if (actionId == EditorInfo.IME_ACTION_SEARCH ||
                            actionId == EditorInfo.IME_ACTION_DONE ||
                            event.getAction() == KeyEvent.ACTION_DOWN &&
                            event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
                        Toast.makeText(getBaseContext(), e.getText().toString(), Toast.LENGTH_SHORT).show();

                        InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                        imm.hideSoftInputFromWindow(e.getWindowToken(), 0);

                        return true;
                    }
                    return false;
                }
            });

我使用的是安卓版本为 2.3.4 的三星设备。

edittext的屏幕截图:

【问题讨论】:

  • 回车键不会做同样的工作。
  • 回答this question 有帮助吗?它建议您打开单行标志,但这可能适用于您的 UI,也可能不适用。

标签: android android-softkeyboard android-keypad android-version


【解决方案1】:

这不是 Android 版本的错,而是您的设备使用的 IME。三星(以及一些 HTC,我认为)IME 永远不会将字母更改为“完成”或“下一步”或“开始”。

【讨论】:

  • 谢谢,它有效。 enter 字符的反应为 Done,Next,Go Buttons
猜你喜欢
  • 2015-08-22
  • 1970-01-01
  • 2012-11-13
  • 1970-01-01
  • 1970-01-01
  • 2013-12-16
  • 1970-01-01
  • 1970-01-01
  • 2014-08-30
相关资源
最近更新 更多