// 导入按钮事件
  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. JavaScript中Element与Node的区别,children与childNodes的区别

    关于Element跟Node的区别,cilldren跟childNodes的区别很多朋友弄不清楚,本文试图让大家明白这几个概念之间的区别. Node(节点)是DOM层次结构中的任何类型的对象的通用名称 ...

  2. yaf框架流程四

    在前面的章节,在bootstrap里添加了一个benchmark插件,简单介绍下yaf的插件机制:http://yaf.laruence.com/manual/yaf.plugin.html Yaf定 ...

  3. tcp协议中mss的理解

    在介绍MSS之前我们必须要理解下面的几个重要的概念.<blockquote>MTU: Maxitum Transmission Unit 最大传输单元MSS: Maxitum Segmen ...

  4. uploadify scriptData参数无法传参的问题

    最近需要使用到uploadify,需要向后台传递参数,使用script最多只能够传递一个参数,当然也可以通过合并参数然后再在服务器段拆分参数的方法来传递多个参数,而uploadify插件提供的scri ...

  5. Android中弹出输入法界面不影响app界面布局

    默认情况下,输入法弹出的时候,原来的view会被挤扁.有些应用不想被挤,它们可以接受被输入法view覆盖在上面.这时候需要在AndroidManifest.xml acitivty里面加上一句: an ...

  6. Android adb shell命令大全

    1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): androi ...

  7. Maps

    Maps.uniqueIndex()将列表转换为map  //iterator各个元素作为Map.values, key为Function.apply返回值 Maps.uniqueIndex(ps.i ...

  8. delphi 怎么把image上的图片粘贴到剪切板上

    这个给你一个简单的代码,仅提供思路. uses Clipbrd; //引用单元 procedure TForm1.Button1Click(Sender: TObject); var Bmp: TBi ...

  9. java线程实践记录

    框架构建过程中遇到需要用到线程的地方,虽然以前经常听到线程,也看过一些线程类的文章,但真正使用时还是遇到一些问题,此篇正式为了记录自己对线程实操的体会. 入口类代码: public class tes ...

  10. 插入排序 --- 排序算法 --- 算法 --- java

    设数组为a[0…n-1]. 1.      初始时,a[0]自成1个有序区,无序区为a[1..n-1].令i=1 2.      将a[i]并入当前的有序区a[0…i-1]中形成a[0…i]的有序区间 ...