// 导入按钮事件
  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. [转载] ffmpeg超详细综合教程——摄像头直播

    本文的示例将实现:读取PC摄像头视频数据并以RTMP协议发送为直播流.示例包含了 1.ffmpeg的libavdevice的使用 2.视频解码.编码.推流的基本流程 具有较强的综合性. 要使用liba ...

  2. 文件IO一些注意的地方

    两个各自独立的进程各自打开同一个文件,则每个进程都有各自的文件表项.这是因为每个进程都有它自己对该文件的当前偏移量.但是对一个给定的文件只有一个v节点表项.lseek()只修改文件表项中的当前文件偏移 ...

  3. MongoDB的启动

    在桌面或者其它地方建立mongodb.bat 批处理文件 在里面写入如下内容 mongod --dbpath D:\java_tools\MongoDB\MongoDBDATA 保存-然后打开该文件 ...

  4. Mysql查询优化器

    Mysql查询优化器 本文的目的主要是通过告诉大家,查询优化器为我们做了那些工作,我们怎么做,才能使查询优化器对我们的sql进行优化,以及启示我们sql语句怎么写,才能更有效率.那么到底mysql到底 ...

  5. 17、Wi-Fi Direct

    Wi-Fi Direct简介 从Android4.0(API Level=14)开始,允许通过Wi-Fi模块在两个移动设备之间建立直接连接(这种技术称为Wi-Fi Direct),这种连接不需要无线路 ...

  6. Http中Cookie和Session介绍

    先介绍下B/S系统的工作的完整过程.首先客户端的浏览器发出请求,服务端的webserver接受到请求后,调用相关请求的页面进行处理,处理完后将结果发送给客户端的浏览器进行显示.只能是浏览器向webse ...

  7. ansibleplaybook的使用

    1.简单格式要求 [root@ansibleserver ansible]# cat nagios.yml --- - hosts: nagiosserver tasks: - name: ensur ...

  8. 修改ssh服务的默认端口

    修改ssh服务的默认端口 1.查看当前服务端口 一般ssh服务的默认端口为22端口,查看监听的端口用netstat,如下: [root@ansiblemoniter ~]# netstat -tnlp ...

  9. Python的descriptor (2)

    前面说了descriptor,这个东西其实和Java的setter,getter有点像.但这个descriptor和上文中我们开始提到的函数方法这些东西有什么关系呢? 所有的函数都可以是descrip ...

  10. MarkdownPad 破解学习

    最近学习 Markdown,从网上下载了 Windows 下的编辑器:MarkdownPad.这款软件分为免费版和专业版(收费), 对于普通用户来说免费版已经足够,专业版比免费版多了如下几个功能: 一 ...