9

フラグメント内に EditText があり、それ自体が actionbarsherlock タブ内にあります。EditText ボックス内をタッチすると、ソフト キーボードが表示され、キーの 1 つに虫眼鏡 (検索) アイコンが表示されます。テキストを入力して検索キーをクリックすると、入力した文字列を onEditorAction で処理できますが、ソフト キーボードは表示されたままです。プログラムで閉じるにはどうすればよいですか?

ちなみに、検索時に自動的に閉じるように EditText の設定を構成できるというのが1つの答えである場合、画面に独自の検索ボタンがあるため、メソッド呼び出しでソフトキーボードを閉じることができるかどうかを知りたい(ソフトキーボードとは関係ありません)そして、それが押されたときにソフトキーボードも閉じるようにしたいと思います。

注: この質問が以前の質問の繰り返しであると急いで主張する前に、ソフト キーボードをさまざまな場所で非表示にすることに関する多くの Q&A を見てきました。答えの多くは非常に複雑に見え、多くの場合、ユーザーが EditText フィールドを再度タップするまで、キーボードを永久に非表示にするか、単に一時的に閉じるだけなのかが明確ではありません。また、一部の回答では、フラグメントでは使用できないメソッドへの呼び出しが必要です。

4

6 に答える 6

7

これは、Android のソフト キーボードを非表示にする作業コードです。

try {
            InputMethodManager input = (InputMethodManager) activity
                    .getSystemService(Activity.INPUT_METHOD_SERVICE);
            input.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);
        }catch(Exception e) {
            e.printStackTrace();
        }
于 2013-06-20T12:04:29.117 に答える