我想提示用户使用对话框在我的Android应用程序中输入。这是我发现的:
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Title");
alert.setMessage("Message");
// Set an EditText view to get user input
final EditText input = new EditText(this);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String value = input.getText();
// Do something with value!
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Canceled.
}
});
alert.show();
但是这个 给了我:
android.view.WindowManager $ BadTokenException:无法添加窗口 - 令牌null不适用于应用程序
我的代码是否有任何问题,似乎在对话框中传递了null参数,但我无法找出问题所在。
答案 0 :(得分:9)
当我在新项目中运行代码时,它运行正常。所以你正在使用的“这个”
希望这有帮助。
答案 1 :(得分:3)
我编写了一个帮助器类,只需几行代码即可轻松创建一个提示对话框。
PromptDialog dlg = new PromptDialog(MainActivity.this, R.string.title, R.string.enter_comment) {
@Override
public boolean onOkClicked(String input) {
// do something
return true; // true = close dialog
}
};
dlg.show();