2011-11-29 51 views
1

在我的程序中,我使用了onclick事件的警报对话框。但是,在事件onclick上运行我的程序后,警报对话框打开并允许在其中填充信息。然后点击确定按钮提示对话框如果条件匹配比数据将提交和意图将通过其他方式在吐司味精它会显示像输入正确的密码或登录ID等,但当第二次点击我已经设置的按钮alertdialogbox线程msg将出现,它会关闭程序,所以这是什么解决方案。如何第二次打开警报对话框而无需第二次运行程序?

希望您的关注。 感谢你

+0

您可以添加LogCat输出吗? –

+0

AlertDialog需要一个在后台运行的活动,它将显示在后台并保持活动状态。所以你可以发布你的代码片段,以便我们可以找到一个更好的解决方案,如果你不介意你的问题。 –

回答

0

经过覆盖的方法

  • OnCreateDialog()
  • OnPrepareDialog()

编号:http://developer.android.com/guide/topics/ui/dialogs.html

只是一个想法

@Override 
     protected Dialog onCreateDialog(int id) { 
      switch (id) { 
      case DataMember.DIALOG_ALERT: 
       return new AlertDialog.Builder(this) 
         .setCancelable(false) 
         .setMessage("") 
         .setPositiveButton("Ok", 
           new DialogInterface.OnClickListener() { 
            public void onClick(DialogInterface dialog, 
              int id) { 
             //do your code 
//if() { call intent} else {do nothing} 

            } 
           }).create(); 
    } 
    } 
0

点击正面或负面的按钮,最终导致关闭dialog.So绝招你可以做的是:

  1. 准备打开对话框

    公共无效openDialog(){

    的方法
    // code to open dialog 
    

    }

  2. 调用该方法,你检查coditi在

    公共无效openDialog(){

    // code to open dialog 
    
        ... 
    
        //in button click{ 
    
        if(codition matches) 
          //do something and close the dialog 
        else 
          openDialog(); //that will reopen the dialog 
        }  
    

    }