Android对话框setNegativeButton没有监听器

时间:2016-01-09 22:07:30

标签: android android-dialog

好奇心问题。

我使用了很多对话框构建器,大部分时间我的否定取消按钮除了关闭对话框外什么都不做。我在网上到处找到的代码是:

builder.setNegativeButton(
    "cancel",
    new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            dialog.dismiss();
        }
    }
);

我碰巧发现这段代码完全一样:

builder.setNegativeButton("cancel", null);

所以我的问题是:那是一个不习惯手动关闭对话的坏习惯,如果是,为什么?

2 个答案:

答案 0 :(得分:4)

有些记录在案的行为,见:
http://developer.android.com/guide/topics/ui/dialogs.html#DismissingADialog

  

当用户触摸使用AlertDialog.Builder创建的任何操作按钮时,系统会为您解除对话框。

因此,使用null侦听器,您可以使用Dialog的隐式记录行为。

可能出现什么问题? (是的,我认为至少有50%的可能性,那里的某些自定义ROM没有正常运行......然后再次,谁关心自定义ROM无法遵循记录的行为,我不再,太多的那个BS )。

答案 1 :(得分:2)

我自己在学校的Android课程中学到了这一点。基本上,如果需要其他功能,只需要实现按钮监听器。

所以包含点击监听器不是“习惯”,这只是明确的意图。