package com.example.progressbar;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.widget.ProgressBar;public class MainActivity extends Activity { private int[] data=new int[100]; int hasData=0; //记录完成进度 int status=0; ProgressBar bar,bar1; //創建一个负责更新进度的handler Handler mhandler=new Handler(){ public void handleMessage(Message msg) { if(msg.what==0x111){ bar.setProgress(status); bar1.setProgress(status); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bar=(ProgressBar) findViewById(R.id.bar); bar1=(ProgressBar) findViewById(R.id.bar1); new Thread(){ public void run(){ while(status<100){ //获取耗时操作的完成百分比 status=doWork(); //发送消息 mhandler.sendEmptyMessage(0x111); } } }.start(); } public int doWork() { data[hasData++]=(int) (Math.random()*100); try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } return hasData; }}
只里面用到了线程,handler的知识。