Android:无法读取对话框中EditBox中的文本

Android:无法读取对话框中EditBox中的文本,android,android-edittext,Android,Android Edittext,我想使用弹出对话框获取用户输入。我可以用编辑文本显示对话框,用户可以输入输入。但是当我试图得到这个值时,我只得到一个空值 这是一个足够简单的代码。我可能错过了一些非常基本的东西。不知道是什么 private void getUserInput(String prompt) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage(prompt); final Edit

我想使用弹出对话框获取用户输入。我可以用编辑文本显示对话框,用户可以输入输入。但是当我试图得到这个值时,我只得到一个空值

这是一个足够简单的代码。我可能错过了一些非常基本的东西。不知道是什么

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();
}
你在哪里

if (inputBox.getText() != null)

您正在将str设置为null,但检查inputBox.getText()不为null;那不应该是
=be
==null
?(虽然,实际上,您可能应该检查
inputBox.getText().equals(“”

不,他所说的是正确的。他正在检查以确保字符串\NOT \null
.equals
将用于字符串比较。除了如果
inputBox.getText()==null
,当前代码将尝试调用
inputBox.getText().toString()
,它将是
null.toString()
,并且会被忽略。谢谢,谢谢,谢谢!真是一个“糟糕”的时刻!昨晚我真的应该多睡一会儿;-)。您是否确实在编辑文本中设置了文本?@AedonEtLIRA:用户在编辑对话框中输入文本。