android提示用户使用对话框input

我想提示用户使用对话框在我的android应用程序中给我input。 这是我发现的:

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不适用于应用程序

是否有任何问题,我的代码似乎是一个空parameter passing对话框,但我不明白是什么问题。

Solutions Collecting From Web of "android提示用户使用对话框input"

当我在一个新的项目中运行你的代码时,它运行良好。 所以可能这个“你”正在使用

  • 不是一项活动
  • 是不是在视图中的活动,即可能有一个父母的活动。 如果是某个活动的孩子,请使用getParent()而不是“this”。
  • 一片空白

希望这可以帮助。

我写了一个辅助类,可以很容易地创build一个只有几行代码的提示对话框。

 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(); 

查看完整的代码=>提示对话框为Android