2012-08-03 80 views
0

我在应用程序中发出警告对话框,并希望在有人单击警报对话框中提供的特定按钮时结束该对话框。即使dismiss()和cancel()也不适用于我。如何结束警报对话框?

这是警告对话框的代码:

alertOnButtonDialog = new AlertDialog.Builder(this); 
    TextView alertOnButtonView = new TextView(this); 
    alertOnButtonView.setText("The website address of velosys consultancy services is \n velosysconsultancyservices.com."); 

    Button alertOnButton = new Button(this); 
    alertOnButton.setText("ok"); 
    alertOnButton.setOnClickListener(alertOnButtonClickListener); 
    LinearLayout linearLayout = new LinearLayout(this); 
    linearLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, 
      LinearLayout.LayoutParams.WRAP_CONTENT)); 
    linearLayout.setOrientation(1); 
    linearLayout.addView(alertOnButtonView); 
    linearLayout.addView(alertOnButton); 
    alertOnButtonDialog.setView(linearLayout); 
    alertOnButtonDialog.show(); 

在这里,我要结束它的按钮点击:

Button.OnClickListener alertOnButtonClickListener = new Button.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
// code to end the alertDialog 
     } 
    }; 

请告诉我该怎么办呢?

+0

写这个关闭该对话框:alertOnButtonDialog.dismiss(); – 2012-08-03 10:37:12

+0

你使用了alertOnButtonDialog.dismiss()吗? – Aerrow 2012-08-03 10:37:25

+0

类型AlertDialog.Builder的方法dismiss()未定义此问题由编译器引发 – 2012-08-03 10:38:55

回答

1

你要做的是,只需使用构建器创建一个对象AlertDialogCreate()方法。

然后使用AlertDialog的dismiss()方法关闭该按钮的单击中的对话框。

AlertDialog alert; 
alertOnButtonDialog = new AlertDialog.Builder(this); 
alert = alertOnButtonDialog.create(); 

现在,

Button.OnClickListener alertOnButtonClickListener = new Button.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
     alert.dismiss(); 
     } 
    }; 
+0

未解决问题。这是编译器显示的错误:对于AlertDialog.Builder类型未定义dismiss()方法 – 2012-08-03 10:49:24

+0

Now 'dismiss()'是'AlertDialog'的方法,不适用于'AlertDialog.Builder'。请仔细阅读我的代码.. – user370305 2012-08-03 10:50:20

+0

感谢您的解决方案 – 2012-08-03 10:57:11

1

试试这个..

dismissDialog(YourDialog name); 
+0

仍然没有解决问题.Same错误 – 2012-08-03 10:52:06