没有对话框的Android对话框setNegativeButton

Dan*_*iel 5 android android-dialog

好奇心问题在这里。

我使用了很多对话框构建器,大多数情况下,我的否定取消按钮除了关闭对话框外什么也不做。我在网上随处可见的代码是这样的:

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

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

builder.setNegativeButton("cancel", null);
Run Code Online (Sandbox Code Playgroud)

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

小智 5

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

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

因此,使用null侦听器时,您将行使Dialog的这种隐式记录的行为。

有什么地方可能出错?(是的,我认为至少有50%的机率是某些自定义ROM不能正常工作……然后,再一次,谁在乎自定义ROM不能遵循已记录的行为,我不会再有太多的BS信息了。 )。