Android: невозможно прочитать текст в EditBox внутри DialogBox - PullRequest
0 голосов
/ 07 июня 2011

Я хочу получить пользовательский ввод, используя всплывающее диалоговое окно.Я могу показать диалоговое окно с EditText, и пользователь может ввести ввод.Но когда я пытаюсь получить это значение, я просто получаю нулевое значение.

Это достаточно простой код.Я, наверное, упускаю что-то действительно элементарное здесь.Не уверен, что!

private void getUserInput(String prompt) {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage(prompt);
    final EditText inputBox = new EditText(this);
    builder.setView(inputBox);
    builder.setPositiveButton(android.R.string.ok,
            new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int whichButton) {
                    String str = "";
                    Log.d(DEBUG_TAG, "OK button clicked");
                    if (inputBox.getText() != null) { //PROBLEM: why is inputBox.getText null?? 
                        str = "null";
                    } else {
                        str = inputBox.getText().toString();
                    }
                    Log.d(DEBUG_TAG, "input text >>>" + str);
                    dialog.dismiss();
                }
            });
    builder.show();
}

1 Ответ

2 голосов
/ 07 июня 2011

Там, где у вас есть

if (inputBox.getText() != null)

, вы устанавливаете для str значение null, но проверка inputBox.getText () НЕ равна нулю;не должно ли это != быть == null?(Хотя, на самом деле, вы, вероятно, должны проверять inputBox.getText().equals("").)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...