【问题标题】:Alert dialog is not displaying警报对话框未显示
【发布时间】:2023-03-13 01:36:01
【问题描述】:

大家好,我正在通过单击按钮在 android 中创建一个警报对话框。我使用了 XML 的 onClick 属性和调用函数。我的代码是

public void selectPhoneType(View view)
{
    String [] item = {"Home", "Work", "Mobile", "Work Fax", "Home Fax", "Pager", "Other", "Custom"};
    AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());
    builder.setTitle("Select Label");
    AlertDialog alert = builder.create();
    alert.show();}

但是这段代码没有显示警报并给出类似的错误

BadTokenException: Unable to add window -- token null is not for an application. 

请告诉我这段代码有什么问题。

【问题讨论】:

  • 尝试:新的 AlertDialog.Builder(this)
  • 嘿,谢谢它的工作,但请你解释一下这和 getAplicationContext 有什么区别?

标签: android dialog alert


【解决方案1】:
new AlertDialog.Builder(getApplicationContext());

我认为这是问题所在。你试过了吗:

new AlertDialog.Builder(YourActivityClassName.this);

【讨论】:

  • 是的,我没有尝试过这个,但是在这样做之后它的工作。如何?请解释一下。
  • 您添加的是整个应用程序的上下文,而不是您想要显示对话框的特定活动。在这篇博文的底部有更多的解释。 tech.shantanugoel.com/2010/07/08/…
  • 没问题。很高兴能提供一些帮助
  • 我希望有另一个刻度线按钮,这样我也可以使用它。最好的解决方案之一。 :)