2011-05-16 40 views
3

我想在单击按钮上显示一个对话框。这是我的代码,但它不起作用。Android中的对话框示例

AlertDialog.Builder builder = new AlertDialog.Builder(
         getApplicationContext()); 
       builder.setCancelable(true); 
       builder.setTitle("Title"); 
       builder.setInverseBackgroundForced(true); 
       builder.setPositiveButton("Yes", 
         new DialogInterface.OnClickListener() { 
          @Override 
          public void onClick(DialogInterface dialog, 
            int which) { 
           dialog.dismiss(); 
          } 
         }); 
       builder.setNegativeButton("No", 
         new DialogInterface.OnClickListener() { 
          @Override 
          public void onClick(DialogInterface dialog, 
            int which) { 
           dialog.dismiss(); 
          } 
         }); 
       AlertDialog alert = builder.create(); 
       alert.show(); 
+12

问题/错误消息是什么? “不工作”不是一个问题描述;) – alopix 2011-05-16 07:45:36

+4

这个代码放在哪里?在onCreate()?那就错了。在显示活动时应该调用对话框显示,因此将此代码放置在ClickClickListener的某个按钮上。 – 2011-05-16 07:55:15

+0

如果您正在使用警报对话框,则不需要关闭警报对话框。当你点击警报对话框中的按钮时,它将自动解除。 – 2011-05-16 07:59:42

回答

-1

尝试这种

AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext()); 
+1

这是完全一样的OP是使用。 – Raptor 2014-01-13 07:36:02

7

尝试此,

而不是传递getApplicationContext()将此;

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
3

试试这个:

AlertDialog.Builder builder = new AlertDialog.Builder(YourActivityName.this); 
0

这是一个非常古老的职位,但是我已经做了一个类,我认为它可以帮助保持代码干净

https://github.com/houmanka/DialogMaker

你不需要担心所有的OnClickListener都在照顾。只需重写这些方法即可完成。我也支持标准和中性。

干杯

希望它可以帮助别人。 H.