1

以下のコードを使用して、アプリケーションに代わってメールを送信するメール アプリを呼び出しています。

    final Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("plain/text");
    intent.putExtra(Intent.EXTRA_EMAIL, new String[] {
        address
    });

送信ボタンをクリックすると、コントロールがアプリケーションに返されます。問題は、メールの編集中です。ソフト キーボードがポップアップします。アプリケーションに戻った後でも、ソフト キーボードは非表示になりません。アプリケーションでこのキーボードを非表示にするにはどうすればよいですか?

以下のコードを試しましたが、うまくいきません。

   final InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(mUsernameEdit.getWindowToken(), 0);
4

2 に答える 2

3

EditText で onFocusChangeListener を使用し、オーバーライド メソッドに以下を追加します。

if(!hasFocus) {
<your edittext instance variable>.setFocusable(false);
InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
    imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
}
于 2013-02-26T12:23:31.927 に答える
2

// これを Android マニフェスト ファイルのアクティビティに追加すると、問題が解決します。

<activity android:name=".ur activity name" android:windowSoftInputMode="stateHidden|adjustResize">
于 2013-02-26T12:33:58.323 に答える