好奇心问题。
我使用了很多对话框构建器,大部分时间我的否定取消按钮除了关闭对话框外什么都不做。我在网上到处找到的代码是:
builder.setNegativeButton(
"cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}
);
我碰巧发现这段代码完全一样:
builder.setNegativeButton("cancel", null);
所以我的问题是:那是一个不习惯手动关闭对话的坏习惯,如果是,为什么?
答案 0 :(得分:4)
有些记录在案的行为,见:
http://developer.android.com/guide/topics/ui/dialogs.html#DismissingADialog
当用户触摸使用AlertDialog.Builder创建的任何操作按钮时,系统会为您解除对话框。
因此,使用null侦听器,您可以使用Dialog的隐式记录行为。
可能出现什么问题? (是的,我认为至少有50%的可能性,那里的某些自定义ROM没有正常运行......然后再次,谁关心自定义ROM无法遵循记录的行为,我不再,太多的那个BS )。
答案 1 :(得分:2)
我自己在学校的Android课程中学到了这一点。基本上,如果需要其他功能,只需要实现按钮监听器。
所以包含点击监听器不是“习惯”,这只是明确的意图。