80,349
社区成员
发帖
与我相关
我的任务
分享
package com.www;
import android.app.Activity;
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;
import android.widget.ProgressBar;
public class HandlerBarActivity extends Activity {
/** Called when the activity is first created. */
ProgressBar bar =null;
Button btn = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.myBtn);
bar = (ProgressBar) findViewById(R.id.progressBar);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
handler.post(run);
}
});
}
Handler handler = new Handler(){
public void handleMessage(Message mes){
bar.setProgress(mes.arg1);
handler.post(run);
}
};
Runnable run = new Runnable(){
int i=0;
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("BarProgress---->"+bar.getProgress());
i=i+10;
Message msg = handler.obtainMessage();
msg.arg1=i;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
handler.sendMessage(msg);
if(100==i){
handler.removeCallbacks(run);
}
}
};
}
package com.test.handler;
import android.R.integer;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;
public class MultiThreadHandler extends Activity {
private ProgressBar myProgressBar;
private Button myButton;
HandlerThread barThread = new HandlerThread("ChildThread");
myHandler barHandler;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myProgressBar = (ProgressBar) findViewById(R.id.progressbar_id);
myButton = (Button) findViewById(R.id.button_id);
// HandlerThread barThread = new HandlerThread("myThread");
barThread.start();
barHandler = new myHandler(barThread.getLooper());
// myHandler barHandler = new myHandler(barThread.getLooper());
myProgressBar.setProgress(10);
Log.i("TAG", "onCreate ---> " + Thread.currentThread().getName());
Message msg = barHandler.obtainMessage();
msg.arg1 = 0;
msg.sendToTarget();
myButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
myProgressBar.setProgress(70);
Log.i("TAG", "Click the Button...");
Message msg = barHandler.obtainMessage();
msg.arg1 = 80;
msg.sendToTarget();
barHandler.post(barThread);
// myProgressBar.setProgress(60);
}
});
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
barHandler.removeCallbacks(barThread);
barThread.stop();
}
class myHandler extends Handler {
public myHandler() {
}
public myHandler(Looper myLooper) {
super(myLooper);
}
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
int ms = msg.arg1;
Log.i("TAG", "handlerMessage ---> "
+ Thread.currentThread().getName());
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
myProgressBar.setProgress(50);// //////////////////////////////////////
Log.i("TAG", "The message here is " + ms);
Message msg1 = barHandler.obtainMessage();
if (msg1.arg1 < 100) {
msg1.arg1 = msg1.arg1 + 10;
msg1.sendToTarget();
// barHandler.post(barThread);
}
}
}
}
package com.www;
import android.app.Activity;
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;
import android.widget.ProgressBar;
public class HandlerBarActivity extends Activity {
/** Called when the activity is first created. */
ProgressBar bar =null;
Button btn = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.myBtn);
bar = (ProgressBar) findViewById(R.id.progressBar);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
handler.postDelay(run,1000);
}
});
}
Handler handler = new Handler();
Runnable run = new Runnable(){
@Override
public void run() {
//这里对进度条进行累加
if(100 != bar.getProgress()){
handler.postDelay(run);
}
}
};
}