【问题标题】:how to open alert dialog box for second time without running program 2nd time?如何在不第二次运行程序的情况下第二次打开警报对话框?
【发布时间】:2011-11-29 18:04:37
【问题描述】:

在我的程序中,我使用了 onclick 事件的警报对话框。但是在事件 onclick 上运行我的程序后,警报对话框打开并允许在其中填写信息。然后单击确定按钮警报对话框,如果条件匹配,则将提交数据并且意图将通过,否则在 toast msg 中它将显示输入正确密码或登录 ID 等内容,但是当第二次单击我设置的按钮时alertdialogbox 会出现线程消息,它会关闭程序,那么解决方案是什么。

希望得到您的关注。 谢谢你

【问题讨论】:

  • 你能添加你的 LogCat 输出吗?
  • AlertDialog 需要一个在后台运行的活动,它将显示在后台,保持活动在后台。如果您不介意,请您发布您的代码 sn-p 以便我们可以为您的问题找到更好的解决方案。

标签: android android-alertdialog


【解决方案1】:

遍历被覆盖的方法

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

【讨论】:

    【解决方案2】:

    点击正面或负面按钮最终会导致关闭对话框。所以你可以做的技巧是:

    1. 准备一个打开对话框的方法

      public void openDialog() {

        // code to open dialog
      

      }

    2. 调用检查代码的方法

      public void openDialog() {

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

      }

    【讨论】:

      【解决方案3】:

      为什么不使用自定义弹出窗口?

      http://virenandroid.blogspot.com/2011/11/custom-popupwindow-android.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多