1. ホーム
  2. android

[解決済み] ボタン押下で仮想キーボードを閉じる

2022-06-04 11:37:15

質問

私は ActivityEditText というボタンと ListView . 目的は、検索画面を入力するために EditText に入力し、ボタンを押すと、検索結果がこのリストに入力されることです。

これはすべて完璧に動作していますが、仮想キーボードの動作がおかしくなっています。

をクリックすると EditText をクリックすると、仮想キーボードが表示されます。 仮想キーボードの "Done" ボタンをクリックすると、仮想キーボードが消えます。 しかし、仮想キーボードの"Done"をクリックする前に検索ボタンをクリックすると、仮想キーボードが残ってしまい、それを取り除くことができません。 Done"ボタンをクリックしても、キーボードは閉じません。 それは、"Done" ボタンが "Done" から矢印に変わり、表示されたままになります。

ご協力ありがとうございました。

どのように解決するのですか?

mMyTextView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_SEARCH) {
            // hide virtual keyboard
            InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(m_txtSearchText.getWindowToken(), 
                                      InputMethodManager.RESULT_UNCHANGED_SHOWN);
            return true;
        }
        return false;
    }
});