DoLengthyWork.java

package tw.android;import java.util.Calendar;import android.os.Handler;import android.widget.ProgressBar;public class DoLengthyWork extends Thread {    private Handler mHandler;//对象mHandler用来运行post更新ProgressBar的工作    private ProgressBar mProBar;//该对象用来存储要用来处理的ProgressBar    //用来读取系统时间的循环,并持续post更新ProgressBar的工作。    public void run () {        Calendar begin = Calendar.getInstance();//用来读取系统的时间        do {            Calendar now = Calendar.getInstance();            final int iDiffSec = 60 * (now.get(Calendar.MINUTE) - begin.get(Calendar.MINUTE)) +                            now.get(Calendar.SECOND) - begin.get(Calendar.SECOND);                    if (iDiffSec * 2 > 100) {                mHandler.post(new Runnable() {                    public void run() {                        mProBar.setProgress(100);                    }                });                                break;            }                        mHandler.post(new Runnable() {                public void run() {                    mProBar.setProgress(iDiffSec * 2);                }            });                        if (iDiffSec * 4 < 100)                mHandler.post(new Runnable() {                    public void run() {                        mProBar.setSecondaryProgress(iDiffSec * 4);                    }                });            else                mHandler.post(new Runnable() {                    public void run() {                        mProBar.setSecondaryProgress(100);                    }                });        } while (true);    }        void setProgressBar(ProgressBar proBar) {        mProBar = proBar;    }        void setHandler(Handler h) {        mHandler = h;    }}

Main.java

package tw.android;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.widget.ProgressBar;public class Main extends Activity {    private Handler mHandler = new Handler();    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                setupViewComponent();    }        private void setupViewComponent() {        // 從資源類別R中取得介面元件        final ProgressBar proBar = (ProgressBar)findViewById(R.id.proBar2);        DoLengthyWork work = new DoLengthyWork();        work.setHandler(mHandler);        work.setProgressBar(proBar);        work.start();    }}

在Mina.java中建立一个Handler对象,并且在setupViewComponent()他的内部设置了两个对象。

更多相关文章

  1. Android(Java):长时间未登录提醒
  2. android webview 添加内置对象
  3. TextView 设置 Ellipsize 属性,但它不工作?
  4. Android 获取时间实时更新UI
  5. 【HR小时制】如何获取Android系统时间的小时制
  6. Android时间选择器
  7. Android时间倒计时的简单实线
  8. android时间控件DatePicker使用实例
  9. 在android中创建包含对象数组对象List 的Parcelable

随机推荐

  1. 自定义android Intent Action与继承TextV
  2. Android Notification 通知封装成工具类
  3. Android纯代码写布局
  4. Android Sqlite 简单SQL语句
  5. Android TraceView的使用
  6. Android 购物车的实现
  7. AndroidManifest.xml解析(较详细)
  8. Android(安卓)Handler多线程详解
  9. android 参考站点、资料
  10. android 关于2.2版本之前的流量统计