web-dev-qa-db-ja.com

ダイアログ表示でキーボードを非表示にする方法は?

EditTextを含むカスタムダイアログがあります。ダイアログが表示されると、フォーカスはEditTextにあり、ソフトキーボードが表示されています。これを回避するには?私は試した:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

そして

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0);

しかし、彼らは私のために機能しません。これらは対話では機能しないと思います。

23
Salvatore

これを試しましたか?私はそれをテストしました。

変更

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

To

dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
58
TheFlash

Xmlレイアウトに移動し、メインレイアウトに到達し、以下を配置します

 Android:focusable="true"
 Android:focusableInTouchMode="true"
10
Amt87