ダイアログ内にEditTextを実装して、ダイアログが立ち上がるのと同時にソフトウェアキーボードを表示する方法です。
ダイアログにsetOnShowListenerを実装して、onShow()メソッドをオーバーライドします。
onShow()内でInputMethodManagerを使ってソフトウェアキーボードを表示させます。
final Dialog newDialog = new Dialog(this);
newDialog.setContentView(R.layout.mydialog);
newDialog.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface arg0) {
EditText editText = (EditText)newDialog.findViewById(R.id.edittext);
InputMethodManager inputMethodManager
= (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(editText, 0);
}
});
newDialog.show();
ちなみにAlertDialog.BuilderはsetOnShowListener()メソッドを持っていないようです。
↓面倒ですがcreate()しましょう。
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface arg0) {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(dialogEditText, 0);
}
});
alertDialog.show();
↓こちらの記事を参考にさせていただきました。ありがとうございます!
Y.A.M の 雑記帳 Android ダイアログ表示時にソフトキーボードを出す

トップ
ホームページ制作
Androidアプリ
便利な計算機
ブログ
プロフィール
お問い合わせ

