AlertDialog.Builderによって作成されたフォーカスされたEditTextのダイアログが表示されたときに、ソフトキーボードを自動的に表示することはできますか?
私はこのトピックについていくつかの議論を見てきましたが、実用的な解決策は見つかりませんでした。
AlertDialog.Builderによって作成されたフォーカスされたEditTextのダイアログが表示されたときに、ソフトキーボードを自動的に表示することはできますか?
私はこのトピックについていくつかの議論を見てきましたが、実用的な解決策は見つかりませんでした。
マングースの皮を剥ぐ方法は複数あります。
AlertDialog.Builder builder = new AlertDialog.Builder(CurrentActivityName.this);
builder.setTitle(“Title”);
builder.setMessage(“Message”);
etc..
//This is the crucial part
AlertDialog alertDlg = builder.create();
alertDlg.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
alertDlg.show();
それは電話とタブレットの両方でうまく機能します
これを解決しました
InputMethodManager imm = (InputMethodManager)
SettingsActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE);
mDialog = mDialogBuilder.create();
mDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
public void onDismiss(DialogInterface dialog) {
dismissSoftKeyboard();
}
});
mPinDialog.show();
showSoftKeyboard();
}
private void showSoftKeyboard() {
if (imm != null) {
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
}
private void dismissSoftKeyboard() {
if (imm != null) {
imm.toggleSoftInput(InputMethodManager.HIDE_NOT_ALWAYS, 0);
}
}