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隐藏软件盘
  2. android 拖动图片移动效果
  3. Android(安卓)zip文件压缩解压缩
  4. android读取网络图片
  5. android webview 添加内置对象
  6. Android之针对webview的缓存
  7. android WebView结合javascript相互调用
  8. android 监听网络连接状态的改变
  9. Android下按扭的使用方法

随机推荐

  1. android:screenOrientation属性详解
  2. Android需要提升权限的操作方法
  3. android下前端开发诡异bug记录&解决方法
  4. Android中ExpandableListView的用法
  5. Spinner(下拉列表)
  6. Android(安卓)OpenGL ES 分析与实践(4)
  7. NDK学习笔记(十二) 原生图形api,使用AVILi
  8. android wifiservice enable流程
  9. Android滑动(三)——scrollTo与scrollBy
  10. Android(安卓)Studio导入项目的几种方法