gpt4 book ai didi

android - dismiss() 应该在 setPositiveButton 或 setNegativeButton 或其他 onClick 中的 onClick 中调用吗?

转载 作者:行者123 更新时间:2023-11-29 20:03:53 25 4
gpt4 key购买 nike

必须在 onClick 中调用 dismiss() 吗?如果我没有调用 dismiss(),对话框仍然可以关闭。

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
Bundle args = getArguments();
if (args.containsKey(ARG_MESSAGE_INT)) {
builder.setMessage(args.getInt(ARG_MESSAGE_INT));
} else if (args.containsKey(ARG_MESSAGE_STRING)) {
builder.setMessage(args.getString(ARG_MESSAGE_STRING));
}
if (args.containsKey(ARG_TITLE_INT)) {
builder.setTitle(args.getInt(ARG_TITLE_INT));
} else if (args.containsKey(ARG_TITLE_STRING)) {
builder.setTitle(args.getString(ARG_TITLE_STRING));
}

builder
.setPositiveButton(R.string.alert_dialog_ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
if (null != buttonOnClickListener)
buttonOnClickListener.onPositiveClick();
}
}
)
.setNegativeButton(R.string.alert_dialog_cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
if (null != buttonOnClickListener)
buttonOnClickListener.onNegativeClick();
}
}
);

return builder.create();
}

最佳答案

如果您使用构建器创建对话框并在那里设置您的监听器,那么单击任何按钮都会自动关闭该对话框,您无需调用 dismiss。

如果您覆盖点击监听器以防止对话框自动关闭(可能是因为您想要在让对话框关闭之前验证一些数据),则您需要调用 dismiss。为此,您需要覆盖 onStart 中的点击监听器。

关于android - dismiss() 应该在 setPositiveButton 或 setNegativeButton 或其他 onClick 中的 onClick 中调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35907103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com