// 导入按钮事件
  btnsearch.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    AlertDialog.Builder builder = new Builder(ContentActivity.this);
    builder.setTitle("请选择导入类型");
    builder.setNegativeButton("导入所有号码", new OnClickListener() {
     public void onClick(DialogInterface dialog, int which) {
      inpPhoneShow("phone");// 导入所有号码的方法
     }
    });
    builder.setNeutralButton("导入SIM卡号码", new OnClickListener() {
     public void onClick(DialogInterface dialog, int which) {
      inpPhoneShow("sim");// 导入所有号码的方法
     }
    });
    builder.show();
   }
   
  });

// 导入号码前弹框
  public void inpPhoneShow(final String inpChice) {
   List<Personer> personer = new ArrayList<Personer>();
   if ("phone".equals(inpChice)) {
    personer = getPhoneContant();// 查询所有手机号码
   } else if ("sim".equals(inpChice)) {
    personer = getSimContant();// 查询SIM号码
   }
   final Activity activity = new Activity();
   AlertDialog.Builder builder = new Builder(ContentActivity.this);
   builder.setPositiveButton("确定", new OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {

new AsyncAdd(ContentActivity.this).execute(inpChice);
    }
   });
   builder.setNegativeButton("取消", new OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
     activity.finish();// 销毁当前
    }
   });
   builder.setTitle("将导入" + personer.size() + "个号码");
   builder.show();
  }

 

 //进度条
    class AsyncAdd extends AsyncTask<String, Integer, Void>{
     
     private ProgressDialog dialog;
     public AsyncAdd(Context ctx){
      dialog = new ProgressDialog(ctx);
      //设置进度条风格,风格为圆形,旋转的
      dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
      //设置ProgressDialog 标题
      dialog.setTitle("导入联系人");
      //设置ProgressDialog 提示信息
      dialog.setMessage("正在导入联系人请稍候....");
      //设置ProgressDialog 标题图标
      dialog.setIcon(android.R.drawable.ic_dialog_alert);
      //设置ProgressDialog的最大进度
      dialog.show();
     }
     
     @Override
     protected Void doInBackground(String... params) {
      // TODO Auto-generated method stub
      String inpChice = params[0];
//      return null;
      List<Personer> personer = new ArrayList<Personer>();
      if ("phone".equals(inpChice)) {
       personer = getPhoneContant();// 查询所有手机号码
      } else if ("sim".equals(inpChice)) {
       personer = getSimContant();// 查询SIM号码
      }
      int i =0;
      for(Personer p : personer){
       saveInfo(p.getPersonName(), p.getPhone());
       publishProgress(personer.size(),i);
       i++;
      }
      return null;
     }
     
     @Override
     protected void onProgressUpdate(Integer... values) {
      // TODO Auto-generated method stub
      super.onProgressUpdate(values);
      dialog.setMax(values[0]);
      dialog.setProgress(values[1]);
     }
     
     @Override
     protected void onPostExecute(Void result) {
      // TODO Auto-generated method stub
      super.onPostExecute(result);
      if(dialog != null){
       dialog.dismiss();
      }
     }
     
    }

android进度条的使用的更多相关文章

  1. 多种的android进度条的特效源码

    多种的android进度条的特效源码,这个源码是在源码天堂那个网站上转载过来的,我已经修改一部分了,感觉很实用的,大家可以学习一下吧,我就不上传源码了,大家可以直接到那个网站上下载吧. 源码天堂下载地 ...

  2. android进度条

    android进度条 1.达到的效果 2.布局代码 先写一个my_browser.xml文件 存放WebView <?xml version="1.0" encoding=& ...

  3. Android 进度条改变图片透明度

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  4. Android 进度条

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  5. Android—进度条

    layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

  6. Android——进度条ProgressBar

    1.activity_progressbar.xml <?xml version="1.0" encoding="utf-8"?><Linea ...

  7. Android 进度条按钮实现(ProgressButton)

    有些App在点击下载按钮的时候,可以在按钮上显示进度,我们可以通过继承原生Button,重写onDraw来实现带进度条的按钮. Github:https://github.com/imcloudflo ...

  8. Android 进度条对话框ProgressDialog

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  9. Android进度条控件ProgressBar使用

    ProgressBar有四种样式,圆形的(大,中,小)和直条形的(水平) 对应的style为 <LinearLayout xmlns:android="http://schemas.a ...

随机推荐

  1. js数组的声明与应用

    js数组的声明与应用 数组:一种容器,存储批量数据.JavaScript是一种弱类型语言.什么是弱类型,就是变量可以存储多种类型变量的引用不会报错.所以js数组可以存储不同的数据. 一.数组的作用:只 ...

  2. 使用dev http client调试restful API开发

    安装chrome 插件:dev http client, 使用VPN打开 google网站,

  3. (转)CWnd与HWND的区别与转换

    一.区别HWND是句柄,CWnd是MFC窗体类,CWnd中包含HWND句柄成员对象是m_hWnd.HWND是Windows系统中对所有窗口的一种标识,即窗口句柄.这是一个SDK概念.   CWnd是M ...

  4. HDU 4662 MU Puzzle 2013 Multi-University Training Contest 6

    现在有一个字符串"MI",这个字符串可以遵循以下规则进行转换: 1.Mx 可以转换成 Mxx ,即 M 之后的所有字符全部复制一遍(MUI –> MUIUI) 2.III 可 ...

  5. android adb应用

    一 adb 简介 ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备. 二 安装 方法 先说安装方法, 电脑上需要安装客户端. 客户端包含在sdk里. ...

  6. Android 使Volley完美支持自定义证书的Https

    其实在最早的版本里,Volley甚至是不支持https协议的,只能跑http,当然你也可以自己修改他的源码让他支持,如今volley的代码经过一些改进以后, 已经可以完美支持https协议了,无论是在 ...

  7. 在Linux系统中如何装rpm,deb,tar.gz,tar.bz2,apt,bin 格式的文件

    首先安装 系统自带的 alien 包 :终端 -su-输入密码 -进入ROOT 用户 - sudo apt-get install alien 这样 alien 包 就装上去了 !(if alien  ...

  8. 关于浮动-float

    1.存在浏览器兼容问题:js代码 2.对于这种存在浏览器兼容问题的问题,我们可以绕开兼容性问题,先在css样式写好,然后通过该变className 3.学习的博客 https://paran.io/c ...

  9. 将数字映射到字母上 .xml

    映射成 A1------A20               B1------B20               ...               Z1------Z20 这种形式   数字从0开始编 ...

  10. 记一个社交APP的开发过程——基础架构选型(转自一位大哥)

    记一个社交APP的开发过程——基础架构选型 目录[-] 基本产品形态 技术选型 最近两周在忙于开发一个社交App,因为之前做过一点儿社交方面的东西,就被拉去做API后端了,一个人头一次完整的去搭这么一 ...