gpt4 book ai didi

android - 从自定义 View 中的按钮关闭 AlertDialog

转载 作者:太空宇宙 更新时间:2023-11-03 11:54:35 25 4
gpt4 key购买 nike

我有一个用于对话框的 util 类:

public static void buildCustomDialog(Context contextRef, View dialogContentView)
{
AlertDialog.Builder builder = new AlertDialog.Builder(contextRef);

builder.setView(dialogContentView);

builder.setNegativeButton(contextRef.getString(R.string.std_cancel), null);

AlertDialog dialog = builder.create();

dialog.show();

}

我传递给它的 View 有两个带有 clickListeners 的按钮。一切都很好,除了当用户单击其中一个自定义按钮时我无法关闭对话框。所以他们导航到另一个页面,回击,对话框仍然存在。

如何在创建对话框之前在我创建的自定义 clickListeners 中获取对对话框的引用?

我已经尝试了所有可能的选择。我最近的尝试是制作一个带有自定义界面的自定义 DialogFragment,但即便如此, View (以及按钮及其监听器)也会在 AlertDialog 构建器创建对话框之前创建。

我觉得这应该非常简单而且我遗漏了一些东西......

最佳答案

您需要在自定义按钮上设置 onClick 监听器。

试试这个:

   AlertDialog.Builder builder = new AlertDialog.Builder(contextRef);

builder.setView(dialogContentView);

Button btnOk= (Button) dialogContentView.findViewById(R.id.btn_ok);

builder.setNegativeButton(contextRef.getString(R.string.std_cancel), null);

AlertDialog dialog = builder.create();

dialog.show();

btnOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss();
}
});

就是这样!!

关于android - 从自定义 View 中的按钮关闭 AlertDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46244788/

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