java - Android AlertDialog 如何阻止第二次点击确定按钮?

标签 java android android-alertdialog

例子:

System.out.println("in!");
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
    dialog.setMessage("test!!!");
    dialog.setPositiveButton(R.string.dialog_ok, 
        new OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                System.out.println("Only one click!");
            }
    });
    dialog.show();

输出:
在!
在!
只需点击一下!
只需点击一下!
只需点击一下!
只需点击一下!

最佳答案

获取按钮(positive)并设置enabled为false。

System.out.println("in!");
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setMessage("test!!!");
dialog.setPositiveButton(R.string.dialog_ok, 
    new OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            // disable on 1st click;
            final AlertDialog alertDialog = (AlertDialog)dialog;
            alertDialog.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(false);
            System.out.println("Only one click!");
        }
});
dialog.show();

关于java - Android AlertDialog 如何阻止第二次点击确定按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13768518/

相关文章:

java - 是否存在一种在 COBOL 中标准化的 Java 互操作形式?

java - 查找所有包含关键字的子字符串

javascript - React-Native-Navigation:未定义已使用但尚未注册

java - 我怎样才能访问android中另一个类中选定的列表项

android - 为什么我的默认警报对话框按钮文本是白色的?

android - 使用 RecyclerView 的自定义警报对话框

java - 当两个对象的名称为 `out` 时,为什么我没有收到错误消息?

android - 长文本在android中的textview中向左移动

java - 如何在 AlertDialog.builder 中使用 Spinner?

java - java中有Updatepanel控件(如ASp.net)