package com.terry;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;
public class progressBarActivity extends Activity {
private ProgressBar myBar;
private ProgressBar myBar2;
private Button myButton;
private Handler myHandler;
protected static final int GUI_STOP=0x1110;
protected static final int GUI_THREADING=0x122;
private int counter=0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_PROGRESS);
setProgressBarVisibility(true);
setContentView(R.layout.main);
/*
* 查找对象
*/
myBar=(ProgressBar)findViewById(R.id.ProgressBar01);
myBar2=(ProgressBar)findViewById(R.id.ProgressBar02);
myButton=(Button)findViewById(R.id.Button01);
myButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
myBar.setVisibility(View.VISIBLE);
myBar2.setVisibility(View.VISIBLE);
myBar.setMax(100);
myBar.setProgress(0);
myBar2.setProgress(0);
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<10;i++)
{
try {
counter=(i+1)*20;
Thread.sleep(1000);
if(i==4)
{
Message msg=new Message();
msg.what=GUI_STOP;
progressBarActivity.this.myHandler.sendMessage(msg);
break;
}
else
{
Message msg=new Message();
msg.what=GUI_THREADING;
progressBarActivity.this.myHandler.sendMessage(msg);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}).start();
}
});
myHandler=new Handler()
{
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
switch (msg.what) {
case GUI_STOP:
myBar.setVisibility(View.GONE);
myBar2.setVisibility(View.GONE);
Thread.currentThread().interrupt();
break;
case GUI_THREADING:
if(!Thread.currentThread().interrupted())
{
myBar.setProgress(counter);
myBar2.setProgress(counter);
setProgress(counter*100);
setSecondaryProgress(counter*100);
}
break;
default:
break;
}
super.handleMessage(msg);
}
};
}
}