Android取消具有自定义布局的alertDialog

标签 android android-alertdialog

我正在创建一个带有自定义布局的警告对话框,我想在按下其中一个布局按钮时取消该对话框。

            LayoutInflater layoutInflater = LayoutInflater.from(GroupAdminOptions.this);
            View alertView = layoutInflater.inflate(R.layout.change_group_name, null);

            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(GroupAdminOptions.
                    this);
            final EditText userInput = (EditText) alertView.findViewById(R.id.editTextUserInput);
            Button okButton = (Button) alertView.findViewById(R.id.okButton);
            Button cancelButton = (Button) alertView.findViewById(R.id.cancelButton);
            okButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Log.d("QQQ","" + userInput.getText());
                }
            });
            cancelButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Log.d("QQQ","cancel");
                }
            });
            alertDialogBuilder.setView(alertView);
            AlertDialog alertDialog = alertDialogBuilder.create();
            alertDialog.show();

当我按下取消按钮时,可以取消 alertDialog 吗?

最佳答案

您必须将 AlertDialog 设置为全局变量,然后您可以在 onClick() 方法中使用 AlertDialog 然后关闭它。

在将 alertDialog 声明为全局变量后尝试此代码。

cancelButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Log.d("QQQ","cancel");
                    alertDialog.dismiss();
                }
            });

希望对您有所帮助!

关于Android取消具有自定义布局的alertDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32274885/

相关文章:

java - 在 Android Eclipse 项目的 Assets 文件夹中拥有自己的数据库

android - 根据应用程序模式加载首选项

java - 获取字段名称并检查数组列表是否存在?

android - 获取其他指针的 MotionEvent.getRawX/getRawY

java - AlertDialog 不显示文件列表

Android 图像对话框/弹出窗口

java 相当于 printf ("%*.*f")

android - 从网上获取一个.txt,对比一下,在一个AsyncTask中打开一个dialog

android - 防止Android Dialog缩进每段文字

android - 从另一个类调用对话框