Dialog提示框
这里有一个工厂,名为showDialog(),接下来是这个工厂创建产品Dialog的生产线流程:
一号生产车间生产一个骨架:
mBuilder: AlertDialog.Builde
发送给二号车间为其装饰:
setTitle(text):为dialog设置标题。text为标题。
setMassage(massage): 设置dialog显示的信息。Massage为要显示的信息。
setPositiveButton(CharSequence text, OnClickListener listener): 设置确定按钮。Text为按钮名称,listener为触发按钮引发的事件。
setNegativeButton(CharSequence text, OnClickListener listener): 设置取消按钮。Text为按钮名称,listener为触发按钮引发的事件。
发送到三号车间完成创建:
mBuilder.create().show();
消费者购买使用:
当按返回键(即会触发onBackPress)时会调用showDialog弹出提示框。
具体代码如下:
1 // dialog提示 2 private void showDialog() { 3 // 创建AlertDialog.Builder, this表示MainActivity传进来 4 AlertDialog.Builder mBuilder = new AlertDialog.Builder(this); 5 // 设置提示框标题 6 mBuilder.setTitle("温馨提示:"); 7 // 设置提示信息 8 mBuilder.setMessage("确定退出吗?"); 9 // 确定按钮 10 mBuilder.setPositiveButton("确定", new OnClickListener() { 11 12 @Override 13 public void onClick(DialogInterface dialog, int which) { 14 // 把dialog给关掉 15 dialog.dismiss(); 16 // 把窗口关掉, 这里的this是代表主窗口MainActivity, 而this.finish()中的this代表showDialog,因为它在showDialog里面 17 MainActivity.this.finish(); 18 } 19 }); 20 // 取消按钮 21 mBuilder.setNegativeButton("取消", new OnClickListener() { 22 23 @Override 24 public void onClick(DialogInterface dialog, int arg1) { 25 // 关闭提示 26 dialog.dismiss(); 27 } 28 }); 29 mBuilder.create().show(); 30 } 31 32 // 当按返回键时就弹出dialog对话框 33 @Override 34 public void onBackPressed() { 35 showDialog(); 36 }