新手第一帖,大神们见笑了!希望大家补充更好的方法!!
最近写了个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,然后在里面添加监听事件用来关闭对话框。