zoukankan      html  css  js  c++  java
  • 安卓=--确认

    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

  • 相关阅读:
    django继承User表导致的问题
    Sublime Text 3 鼠标右键快捷选项 简单且高效
    php所有版本
    windows 安装redis
    php玩弄redis基本操作
    PHP 实现文件下载
    PHP 获取客户端的真实IP
    根据标签内个数,显示隐藏《加载更多》
    ubuntu 安装nginx+php+mysql+phpadmin环境
    面试总结
  • 原文地址:https://www.cnblogs.com/my-time/p/4574789.html
Copyright © 2011-2022 走看看