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:用户在编辑对话框中输入文本。