package ProgressDialog_1_11_3.test.run;import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;public class Main extends Activity implements Runnable { private Button button; private ProgressDialog pdRef; int progressValue = -20; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button) this.findViewById(R.id.button1); button.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) { pdRef = ProgressDialog.show(Main.this, "进度", "百分比0%"); Thread thread = new Thread(Main.this);
thread.start();
} }); } private Handler handler = new Handler() { @Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (Integer.parseInt(msg.getData().getString("progressValue")
.toString()) > 100) {
pdRef.dismiss();
} else {
pdRef.setMessage(msg.getData().getString("progressValue")
.toString());
}
} }; public void run() {
try {
while (progressValue < 101) {
progressValue = progressValue + 20;

Bundle BundleRef = new Bundle();
BundleRef.putString("progressValue", "" + progressValue); Message sendMessage = new Message();
sendMessage.setData(BundleRef); handler.sendMessage(sendMessage);
Thread.sleep(1000);
}
} catch (InterruptedException e) {
e.printStackTrace();
} }
}