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 に答える