2

ユーザーが入力して送信を押すとキーボードが消えないという問題があったので、このコードを見つけてその問題を修正しました(これをonClickメソッドに配置することで):

        InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);

ただし、ユーザーが手動でキーボードを閉じてから[送信]をクリックすると、上記のコードでキーボードが元に戻ることがわかりました。これは良くありません。

質問:

使用するより良いコードはありますか?または私はちょうど=のような何かを言うことができます

 if (keyboard = displayed) {
            // do code above
          } else { 
            // do nothing 
          }
4

1 に答える 1

6

キーボードを非表示にするには:

final InputMethodManager inputMethodManager =
            (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);

inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);

それを表示するには:

final InputMethodManager inputMethodManager =
            (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);

inputMethodManager.showSoftInput(view, InputMethodManager.SHOW_FORCED);
于 2012-08-07T02:07:59.767 に答える