Android关闭AlertDialog的方法

来源:互联网 发布:苏联数学 知乎 编辑:程序博客网 时间:2024/06/06 18:47

新手第一帖,大神们见笑了!希望大家补充更好的方法!!
最近写了个AlertDialog dialog对话框,通过android.app.AlertDialog.Builder builder = new AlertDialog.Builder(this);显示对话框,结果发现Builder没有dialog.cancel()和dismiss()方法关闭对话框。自己摸索出了一种关闭AlertDialog dialog对话框的方法。
直接上代码

builder.setIcon(R.drawable.ic_launcher);builder.setTitle("标题");builder.setCancelable(false);//点击屏幕和返回键对话框不消失RelativeLayout relativeLayout = (RelativeLayout) getLayoutInflater().inflate(R.layout.fist, null);builder.setView(relativeLayout);builder.setCancelable(false);Button cancel = (Button) relativeLayout.findViewById(R.id.cancl);Button ok = (Button) relativeLayout.findViewById(R.id.ok);builder.create().show();

这样通过created()加show()方法弹出的对话框在使用builder.setCancelable(false)之后,本人尚未找的好的让对话框的方法。只能用dialog的dismiss()方法让对话框消失
代码如下

final Dialog dialog;builder.setIcon(R.drawable.ic_launcher);builder.setTitle("标题");builder.setCancelable(false);//点击屏幕和返回键对话框不消失RelativeLayout relativeLayout = (RelativeLayout) getLayoutInflater().inflate(R.layout.fist, null);builder.setView(relativeLayout);builder.setCancelable(false);Button cancel = (Button) relativeLayout.findViewById(R.id.cancl);Button ok = (Button) relativeLayout.findViewById(R.id.ok);dialog = builder.show();ok.setOnClickListener(new OnClickListener() {    public void onClick(View v) {    // TODO Auto-generated method stub        dialog.dismiss();    }});dialog.show();

通过builder.show();可以使用dialog.cancel()和dismiss()方法关闭对话框。
一定不要忘了dialog.show();
当然也可以使用setNegativeButton,setPositiveButton和setNeutralButton,然后在里面添加监听事件用来关闭对话框。

1 0