android中的警告对话框不应该解雇

Sha*_*hah 9 android dialog

我正在制作一个应用程序,它有一个警报对话框.

现在我正在检查我从AlertDialog editTexts中获得的一些数据在对话框中的正按钮OnClick方法,但是如果从edittext字段获得的数据是否正确,则对话框始终关闭.

我们如何禁用此功能.

更新:

我从对话框中获取PIN码和确认PIN码,并在onPositive点击我已经检查以验证PIN码.

现在,如果pin代码匹配,则调用dialog.dismiss(),如果不匹配,则显示Toast.

但是如果pin代码不匹配,它会显示消息并关闭对话框.

我不希望这发生.

更多更新:

有没有什么办法可以禁用OK按钮,当数据被验证时,它会启用正按钮?

请帮忙

kin*_*mer 27

这是技巧(在onShowListener中覆盖onClickListener):

final AlertDialog d = new AlertDialog.Builder(context)
                .setView(v)
                .setTitle(R.string.my_title)
                .setPositiveButton(android.R.string.ok,
                        new Dialog.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface d, int which) {
                                //Do nothing here. We override the onclick
                            }
                        })
                .setNegativeButton(android.R.string.cancel, null)
                .create();

        d.setOnShowListener(new DialogInterface.OnShowListener() {

            @Override
            public void onShow(DialogInterface dialog) {

                Button b = d.getButton(AlertDialog.BUTTON_POSITIVE);
                b.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View view) {
                        // TODO Do something

                        //Dismiss once everything is OK.
                        d.dismiss();
                    }
                });
            }
        });
Run Code Online (Sandbox Code Playgroud)


Sha*_*hah 3

帽。感谢您的帮助。通过您的指南,我知道我可以禁用警报对话框按钮。是的!可以禁用按钮。

答案是:

我们可以使用以下方法禁用该按钮:

  Button pos =  Dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
  pos.setEnabled(true);
Run Code Online (Sandbox Code Playgroud)