Android 没有监听器的对话框 setNegativeButton

Android dialog setNegativeButton without listener

这里有好奇心问题。

我使用了很多对话框生成器,大多数时候我的否定取消按钮除了关闭对话框外什么都不做。我在网上到处找到的代码是这样的:

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

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

builder.setNegativeButton("cancel", null);

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

我在学校的 Android 课程中自己学会了这一点。基本上,如果您需要额外的功能,您只需要实现按钮侦听器。

所以它不是 "habit" 包含点击侦听器,这只是一个明确的意图。

这是一些记录在案的行为,请参阅:
http://developer.android.com/guide/topics/ui/dialogs.html#DismissingADialog

When the user touches any of the action buttons created with an AlertDialog.Builder, the system dismisses the dialog for you.

因此,对于空侦听器,您可以执行 Dialog 的隐式记录行为。

什么地方可能出错? (是的,我认为至少有 50% 的可能性是某些自定义 ROM 的行为不正常……话又说回来,谁在乎自定义 ROM 不遵循记录的行为,我不再关心了,废话太多了).