Android:无法读取对话框内编辑框中的文本

时间:2011-06-07 15:08:33

标签: android android-edittext

我想使用弹出对话框获取用户输入。我能够显示带有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 个答案:

答案 0 :(得分:2)

你有什么地方

if (inputBox.getText() != null)

你将str设置为null,但检查inputBox.getText()是否为null;那!= == null不应该是inputBox.getText().equals("")吗? (虽然,实际上,您应该检查{{1}}。)