Java 自定义警报对话框不会关闭
我正在创建一个自定义的Java 自定义警报对话框不会关闭,java,android,android-alertdialog,Java,Android,Android Alertdialog,我正在创建一个自定义的警报对话框,以显示按钮单击事件侦听器上的加载。警报对话框show()函数工作正常,但dismise()函数不工作 public AlertDialog LoadDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(activity); LayoutInflater inflater = activity.getLayoutInflater(); b
警报对话框
,以显示按钮单击事件侦听器上的加载。警报对话框show()
函数工作正常,但dismise()
函数不工作
public AlertDialog LoadDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
LayoutInflater inflater = activity.getLayoutInflater();
builder.setView(inflater.inflate(R.layout.dialog_show_loading, null));
builder.setCancelable(true);
dialog = builder.create();
if (dialog != null)
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
return dialog;
}
要显示加载按钮,请单击不同的类,我只需调用:
new LoadingDialog(context).LoadDialog().show(); //works fine
我呼吁:
new LoadingDialog(context).LoadDialog().dismiss(); // does not work
您应该将返回的对话框存储到一个变量中,否则您所做的只是创建一个新的
AlertDialog
实例并调用show()
,然后再调用另一个新实例并调用dislose()
(因此该实例从未出现):
然后你可以打电话:
dialog.show();
或
您应该将返回的对话框存储到一个变量中,否则您所做的只是创建一个新的
AlertDialog
实例并调用show()
,然后再调用另一个新实例并调用dislose()
(因此该实例从未出现):
然后你可以打电话:
dialog.show();
或
没有关闭函数AlertDialog.Builder类。 而是使用
AlertDialog dialog= new AlertDialog.Builder(this).create();
打电话
dialog.dismiss();
没有关闭函数AlertDialog.Builder类。 而是使用
AlertDialog dialog= new AlertDialog.Builder(this).create();
打电话
dialog.dismiss();
当然,您是在一个不同的实例上调用
discouse
,而不是在第一次调用show
时创建的实例,因为LoadingDialog
方法会在每次调用时创建一个新实例
您需要存储由
show
创建的实例,并在该实例上调用disclose
。当然,您调用disclose
的实例与第一次调用show
创建的实例不同,因为加载对话框
方法在每次调用时都会创建一个新实例
您需要存储由
show
创建的实例,并对该实例调用disease
。您正在执行新建加载对话框(上下文).LoadDialog().disease();//不起作用
这将创建一个新的对话框引用,并尝试取消它,而不是使用以前创建的相同对话框
您需要将创建的对话与此对话一起存储-
newloadingdialog(context.LoadDialog().show()//工作正常
然后对存储的变量使用
.disease
,您正在执行的新建加载对话框(上下文).LoadDialog().disease();//不起作用
这将创建一个新的对话框引用,并尝试取消它,而不是使用以前创建的相同对话框
您需要将创建的对话与此对话一起存储-
newloadingdialog(context.LoadDialog().show()//工作正常
然后对存储的变量使用。discouse