Я использую AlertDialog.Builder в Android, чтобы быстро запрашивать у пользователя текст. Диалоговое окно отображается и отлично работает, но пользователь должен щелкнуть поле EditText, чтобы загрузить программную клавиатуру. Есть ли способ открыть клавиатуру и сосредоточиться на каждом открытии моего диалогового окна? Вот мой код:
final Map<String,Object> rowData = itemList.get(mPosition);
final EditText input = new EditText(searchList.getContext());
input.requestFocus();
input.setSingleLine();
final AlertDialog dialog = new AlertDialog.Builder(searchList.getContext())
.setTitle(StringUtils.getSafeString(rowData.get("label")))
.setView(input)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
rowData.put("value", StringUtils.getSafeString(input.getText()));
searchList.invalidateViews();
}
}).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Do nothing.
}
}).create();
dialog.show();