Автоматически открывать программную клавиатуру на AlertDialog - PullRequest
0 голосов
/ 14 июня 2019

Я создаю AlertDialog.Builder, в котором я назначаю EditText для получения ввода. Когда он открывается, клавиатура не появляется автоматически. Вот мой код:

private void AskForInput(int inputType, String title) {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle(title);

    final EditText input = new EditText(this);
    input.setInputType(inputType);
    builder.setView(input);

    builder.setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            keyNumberValue = input.getText().toString() + "#";
            //TODO: do things...
        }
    });
    builder.setNegativeButton(getResources().getString(R.string.cancel), new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
        }
    });
    builder.show();
}

Я попытался решить, используя предложение, полученное из другого сообщения ссылка :

AlertDialog alertToShow = builder.create();
alertToShow.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
alertToShow.show();

Но все равно мне нужно нажать на EditText, чтобы открыть клавиатуру. Есть идеи?

...