Handler更新进度条

   布局代码很简单就是一个progressBar和一个Button

代码略:

Java代码如下:

public class MainActivity extends Activity {
    ProgressBar pb;
    Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
          pb=(ProgressBar) findViewById(R.id.pb);

 button=(Button) findViewById(R.id.button);
 button.setOnClickListener(new startButton());
}

    class startButton implements OnClickListener{


@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//设置pragressBar为可见状态
pb.setVisibility(View.VISIBLE);
handler.post(updateThread);
}
   
    }
    //
    Handler handler=new Handler(){
    public void handleMessage(Message msg){
    pb.setProgress(msg.arg1);
    handler.post(updateThread);
    }
    };
    //线程类;
    Runnable updateThread=new Runnable(){
      int i=0;
     
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("beigin   i"+i);
i=i+10;
//得到一个消息对象,Message类是有Android操作系统提供
Message msg=handler.obtainMessage();
//用arg1和arg2传递消息,优点是
msg.arg1=i;

Bundle bundle=new Bundle();
bundle.putString("test","test bundle");
try {
//设置当前线程睡眠
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
handler.sendMessage(msg);

//将msg对象加入到消息队列当中
if(i==100){
//如果i的值为100时,将线程对象chonghandler队列中移除
handler.removeCallbacks(updateThread);
}

}
   
    };
    



}

实现了异步功能;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值