ProgressDialog使用

ProgressDialog主要用于大文件拷贝,网络传输时,显示进度。一般使用thread控制ProgressDialog的显示、进度和关闭。
  1. public class main extends Activity {
  2. private static boolean isCannel = false;
  3. private ProgressDialog  progressDialog;
  4. @Override
  5.     public void onCreate(Bundle savedInstanceState) {
  6.         super.onCreate(savedInstanceState);
  7.         setContentView(R.layout.main);
  8.         
  9.         progressDialog = new ProgressDialog (this);
  10.         CharSequence title = "ProgressDialog监听线程处理进度";
  11.         //CharSequence message = getString(R.string.xxx);
  12.         CharSequence message = "当前处理进度";
  13.         
  14.         ProcessThread mThread = new ProcessThread();
  15.         progressDialog = new ProgressDialog(this);
  16.         progressDialog.setTitle(title);
  17.         progressDialog.setMessage(message);
  18.         progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
  19.         progressDialog.setButton((CharSequence)"取消", mThread);
  20.         progressDialog.setProgress(0);
  21.         progressDialog.setMax(100);
  22.         progressDialog.setOnCancelListener(mThread);
  23.         progressDialog.setOnDismissListener(mThread);
  24.         progressDialog.show();
  25.         mThread.start();
  26.     }
  27.     
  28.     private class ProcessThread extends Thread implements OnCancelListener, OnDismissListener, OnClickListener{
  29.      public void run() {
  30.       isCannel = false;
  31.       int process = 0;
  32.       while(!isCannel && process < 100) {
  33.        progressDialog.incrementProgressBy(1);
  34.        try {
  35.      sleep(200);
  36.     } catch (InterruptedException e) {
  37.      e.printStackTrace();
  38.     }
  39.     process ++;
  40.       }
  41.       progressDialog.dismiss();
  42.       finish();
  43.      }
  44.      
  45.   public void onClick(DialogInterface dialog, int which) {
  46.    isCannel = true;
  47.   }
  48.   public void onDismiss(DialogInterface dialog) {
  49.    isCannel = true;
  50.   }
  51.   public void onCancel(DialogInterface dialog) {
  52.    isCannel = true;
  53.   }
  54.     }
  55. }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值