单击按钮后不要关闭AlertDialog

时间:2015-10-12 13:02:29

标签: android alertdialog android-alertdialog

我需要帮助!

我正在开发一个Android应用程序,我遇到了一个问题。 我有一个AlertDialog,其中包含两个按钮(正面和负面)。单击按钮时,某些代码会运行,然后关闭对话框。

dialog.setNegativeButton("button name", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            // some code
        }
    });

但这不是我想要的。当用户点击否定按钮时,我想要运行一些代码,然后对话框不应该关闭。

dialog.setNegativeButton("button name", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            // some code
            // code to prevent the dialog from being closed ?
        }
    });

当点击正面或负面按钮时,我能做些什么来阻止对话框被关闭?

我尝试使用此代码:

dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setEnabled(false);

但它不起作用,因为现在用户无法点击按钮。

BTW我正在开发最低版本的16。

感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

如果onClick中的代码包含dialog.dismiss(),那么只有对话框会关闭

答案 1 :(得分:0)

   String Strmessage="message";
            final AlertDialog.Builder alt_bld = new AlertDialog.Builder(SplashActivity.this);
            alt_bld.setMessage(Strmessage);
            alt_bld.setCancelable(true);
            alt_bld.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                    dialog.dismiss();
                }
            })
            .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    dialog.dismiss();
                }
            });
            AlertDialog alert = alt_bld.create();           
            alt_bld.setMessage(Strmessage);
            alert.show();

        }

答案 2 :(得分:0)

感谢您的建议。我做了一个自定义对话框,现在它就像我想要的那样工作。