博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安卓学习第20课——progressBar
阅读量:5160 次
发布时间:2019-06-13

本文共 1416 字,大约阅读时间需要 4 分钟。

package com.example.progressbar;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.widget.ProgressBar;public class MainActivity extends Activity {    private int[] data=new int[100];    int hasData=0;    //记录完成进度    int status=0;    ProgressBar bar,bar1;    //創建一个负责更新进度的handler    Handler mhandler=new Handler(){         public void handleMessage(Message msg) {             if(msg.what==0x111){                    bar.setProgress(status);                    bar1.setProgress(status);                }            }            };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    bar=(ProgressBar) findViewById(R.id.bar);    bar1=(ProgressBar) findViewById(R.id.bar1);    new Thread(){        public void run(){            while(status<100){                //获取耗时操作的完成百分比                status=doWork();                //发送消息                mhandler.sendEmptyMessage(0x111);                            }        }    }.start();    }    public int doWork() {        data[hasData++]=(int) (Math.random()*100);        try {            Thread.sleep(100);        } catch (InterruptedException e) {            e.printStackTrace();        }        return hasData;    }}

只里面用到了线程,handler的知识。

转载于:https://www.cnblogs.com/Yvettey-me/p/3934604.html

你可能感兴趣的文章
java 的collection
查看>>
go语言使用官方的 log package 来记录日志
查看>>
Linux修改Shell命令提示符及颜色
查看>>
CSS伪类选择器和伪元素选择器
查看>>
Python函数:lambda表达式和过滤器
查看>>
ASID 与 MIPS 中 TLB 相关
查看>>
动态链接库(VC_Win32)
查看>>
nodeJs学习过程之一个图片上传显示的例子
查看>>
WPF DataGrid格式化数字类型
查看>>
Android 指定(后缀名)格式文件扫描
查看>>
Go-导入包(点操作)
查看>>
flask sqlalchemy联合wtf-form表单 查询需要的值是否存在
查看>>
hibernate坑边闲话
查看>>
工作原理
查看>>
java排序方法中的选择排序方法
查看>>
获取用户登陆所在的ip及获取所属信息
查看>>
Xcode 官方全版本下载 从xcode3.2到xcode4.5.2
查看>>
SharePoint 2010 文档管理系列
查看>>
15个常用的javaScript正则表达式
查看>>
Android.mk用法详解
查看>>