0

嗨,我将 edittext 控件包装到一个控件上,该控件应用户请求显示在屏幕上。它覆盖整个屏幕,直到用户按下键盘上的“完成”按钮。

我无法在屏幕上明确显示控件。只有当用户点击控制时才会显示它。我错过了什么吗?

我什至尝试了这个,当我启动存在编辑文本的覆盖时它不会启动它:

customCOntrol.showKeyboard();

public void showKeyboard()
    {
        InputMethodManager imm = (InputMethodManager)_context.getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(this._textView.getWindowToken(), InputMethodManager.SHOW_IMPLICIT);
    }

这是我在配置文件 android:windowSoftInputMode="stateHidden|adjustPan" 中的屏幕本身的设置

先感谢您

4

2 回答 2

9

在您的 showKeyboard 函数中,您正在调用:

 imm.hideSoftInputFromWindow(this._textView.getWindowToken(), InputMethodManager.SHOW_IMPLICIT);

这将从窗口中隐藏 softInput 键盘!你想显示键盘吗?如果是,那么您会使用:

 imm.showSoftInput(view, flags, resultReceiver);

编辑:我认为您也可以从 InputMethodManager 切换键盘,尝试:

 imm.toggleSoftInput(0, 0);
于 2011-06-25T02:20:06.700 回答
0

@dropsOfJupiter

您可以执行以下操作:在启动包含 EditText 引用的 Activity 或 Fragment 时进行 editText.requestFocus()。这会将焦点放在 EditText 上,并将带来软键盘。

我希望这有帮助。

于 2017-01-31T06:41:36.607 回答