ThreadDemo .java
package wandroide.blogspot.com;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ProgressBar;
import android.widget.TextView;
import java.util.concurrent.atomic.AtomicBoolean;
public class ThreadDemo extends Activity
{
ProgressBar bar1 = null;
ProgressBar bar2 = null;
TextView tv = null;
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg)
{
bar1.incrementProgressBy(5);
}
};
Handler handler2=new Handler(){
@Override
public void handleMessage(Message msg)
{
bar2.incrementProgressBy(-5);
}
};
AtomicBoolean isRunning=new AtomicBoolean(false);
AtomicBoolean isRunning2=new AtomicBoolean(false);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView)findViewById(R.id.tv);
bar1 = (ProgressBar)findViewById(R.id.progressbar1);
bar2 = (ProgressBar)findViewById(R.id.progressbar2);
}
public void onStart()
{
super.onStart();
bar1.setProgress(0);
bar2.setProgress(100);
Thread background=new Thread(new Runnable()
{
public void run()
{
try {
for (int i=0;i<20 && isRunning.get();i++)
{
Thread.sleep(1000);
handler.sendMessage(handler.obtainMessage());
}
}
catch (Throwable t) {
// just end the background thread
}
}
});
Thread background2=new Thread(new Runnable()
{
public void run()
{
try {
for (int i=0;i<20 && isRunning2.get();i++)
{
Thread.sleep(1000);
handler2.sendMessage(handler2.obtainMessage());
}
}
catch (Throwable t) {
// just end the background thread
}
}
});
isRunning.set(true);
background.start();
isRunning2.set(true);
background2.start();
}
public void onStop() {
super.onStop();
isRunning.set(false);
isRunning2.set(false);
}
}
沒有留言:
張貼留言