android 怎样设置单击一个按钮,不会重复弹出dialog

现在就是有一个onclick时间 是单击一个按钮弹出个dialog 但是不小心点了很多次那个按钮,就会重复弹出那个dialog 怎么修改这个bug??请高人指点 如果成功还有分送 谢谢

设置一个全局的AlertDialog变量,每次onClick的时候检查该变量是否为null,为null的话则用Builder重新创建一个对话框,如果不为空啥都不做就是了
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-08-19
Android中的对话框是经常用的组件,是用来提示用户的消息的。
常用的对话框有
1:警告对话框 AlertDialog: 一个可以有0到3个按钮, 一个单选框或复选框的列表的对话框. 警告对话框可以创建大多数的交互界面, 是推荐的类型.
  2:进度对话框 ProgressDialog: 显示一个进度环或者一个进度条. 由于它是AlertDialog的扩展, 所以它也支持按钮.
  3:日期选择对话框 DatePickerDialog: 让用户选择一个日期.
  4:时间选择对话框 TimePickerDialog: 让用户选择一个时间.
为了让用户重复单机按钮不会重复产生对话框只要在产生对话框的时候做个判断即可,定义个全局的对话框。
AlertDialog.Builder builder = null;//这里先设置为null
点击按钮产生对话框
button2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if(builder !=null){
builder = new AlertDialog.Builder(MainDialog.this);

builder.setIcon(R.drawable.icon);
builder.setTitle("你确定要离开吗?");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//这里添加点击确定后的逻辑
showDialog("你选择了确定");
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//这里添加点击确定后的逻辑
showDialog("你选择了取消");
}
});
builder.create().show();//显示兑换框
}
}
});
第2个回答  2011-08-03
做一个判断就可以了
相似回答