5

食料品のリストをメールで共有する Android アプリがあります。リストをメール クライアント (Exchange クライアントまたは Gmail クライアント) で送信した後、キーボードが閉じないという問題があります。

私が試してみました:

InputMethodManager mgr = (InputMethodManager) getSystemService(
        Context.INPUT_METHOD_SERVICE);
mgr.hideSoftInputFromWindow(editTxt.getWindowToken(), 0);

と他の多くの方法。キーボードが開いているかどうかを確認するfalseと、キーボードを呼び出したのはアプリではなく、メール クライアントであるため、返されます。

次のような回避策を見つけました。

android:windowSoftInputMode="stateAlwaysHidden"

その後、アプリはキーボードを強制的に閉じますが、キーボードを再度開くたびに遅れ続けます。

Samsung の電話では、Gmail クライアントを使用している場合にのみ問題が発生します。

4

3 に答える 3

2

解決策を見つけました。数ミリ秒後、フォーカスがアプリ (電子メール クライアント) の外部から editText ビューに変わりました。次に、キーボードを閉じることができます。したがって、私のソリューションは次のようになります。

Timer timer = new Timer();
timer.schedule(new TimerTask() {

            @Override
            public void run() {
                closeKeyboard();
            }
        }, 20);
于 2013-03-12T14:09:10.313 に答える
0

android:windowSoftInputMode="stateHidden"マニフェストのアクティビティタグで使用する

于 2013-03-12T13:04:00.840 に答える
0

このコードをonResume()メソッドに入れますか?

于 2013-03-12T13:04:20.987 に答える