安卓=--确认

AlertDialog

AlertDialog可以在当前的界面弹出一个对话框,这个对话框是置顶于所有界面元素之上的,能够屏蔽掉其他控件的交互能力,因此一般AlertDialog都是用于提示一些非常重要的内容或者警告信息。比如为了防止用户误删重要内容,在删除前弹出一个确认对话框。下面我们来学习一下它的用法,修改MainActivity中的代码,如下所示:

public class MainActivity extends Activity implements OnClickListener {

……

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.button:

AlertDialog.Builder dialog = new AlertDialog.Builder (MainActivity.this);

dialog.setTitle("This is Dialog");

dialog.setMessage("Something important.");

dialog.setCancelable(false);

dialog.setPositiveButton("OK", new DialogInterface. OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

}

});

dialog.setNegativeButton("Cancel", new DialogInterface. OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

}

});

dialog.show();

break;

default:

break;

}

}

}

首先通过AlertDialog.Builder创建出一个AlertDialog的实例,然后可以为这个对话框设置标题、内容、可否取消等属性,接下来调用setPositiveButton()方法为对话框设置确定按钮的点击事件,调用setNegativeButton()方法设置取消按钮的点击事件,最后调用show()方法将对话框显示出来。重新运行程序,点击按钮后,效果如图3.13所示。

 

图 3.13

3.2.7 ProgressDialog

ProgressDialogAlertDialog有点类似,都可以在界面上弹出一个对话框,都能够屏蔽掉其他控件的交互能力。不同的是,ProgressDialog会在对话框中显示一个进度条,一般是用于表示当前操作比较耗时,让用户耐心地等待。它的用法和AlertDialog也比较相似,修改MainActivity中的代码,如下所示:

public class MainActivity extends Activity implements OnClickListener {

……

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.button:

ProgressDialog progressDialog = new ProgressDialog (MainActivity.this);

progressDialog.setTitle("This is ProgressDialog");

progressDialog.setMessage("Loading...");

progressDialog.setCancelable(true);

progressDialog.show();

break;

default:

break;

}

}

}

可以看到,这里也是先构建出一个ProgressDialog对象,然后同样可以设置标题、内容、可否取消等属性,最后也是通过调用show()方法将ProgressDialog显示出来。重新运行程序,点击按钮后,效果如图3.14所示。

注意如果在setCancelable()中传入了false,表示ProgressDialog是不能通过Back键取消掉的,这时你就一定要在代码中做好控制,当数据加载完成后必须要调用ProgressDialogdismiss()方法来关闭对话框,否则ProgressDialog将会一直存在。

 

图 3.14

原文地址:https://www.cnblogs.com/my-time/p/4574789.html