安卓handler.post问题
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.button1);
progressBar = (ProgressBar) findViewById(R.id.progressBar1); btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 立即把消息加到消息队列中,postDelayed(r,3000)延迟3秒加到消息队列
handler.post(r);
}
});
} Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
progressBar.setProgress(msg.arg1);
handler.post(r); if (i == 80)
// 移除消息
handler.removeCallbacks(r);
}; };
int i = 0;
Runnable r = new Runnable() { @Override
public void run() {
i = i + 10;
message = new Message();
message.arg1 = i; try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} handler.sendMessage(message); }
};
}
在第11行不是使用post启动线程r了吗,为什么在第19行还要再post一次??求指点
安卓handler.post问题的更多相关文章
- 安卓 handler解析
参考: 1.http://www.2cto.com/kf/201302/190591.html(安卓更新UI的两种方式,handler,Activity.runOnUIThread()) 2.http ...
- 安卓 Handler
1. 看视频有关Handler操作,没有用过,里面的老师也没有讲(新手太难了) 查了一下资料. 一.Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释:当应用程序 ...
- 安卓Handler机制的例子
Handler机制是实现线程之间通讯的一种很常见的方法,很多时候都会用到. package com.lab.activity; import android.app.Activity; import ...
- 安卓handler、thread实现异步任务
[转]http://blog.csdn.net/lanpy88/article/details/6659630 一Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. ...
- 安卓——Handler延迟跳转
//声明控制对象 Handler handler =new Handler(){ @Override public void handleMessage(Message msg) { super.ha ...
- 安卓开发21:深入理解Handler
Handler相关说明: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释:安卓的UI线程(即OnCreate函数创建的线程)是线程非安全的.也就是说,在UI线程中,使用sleep这样 ...
- 安卓中的消息循环机制Handler及Looper详解
我们知道安卓中的UI线程不是线程安全的,我们不能在UI线程中进行耗时操作,通常我们的做法是开启一个子线程在子线程中处理耗时操作,但是安卓规定不允许在子线程中进行UI的更新操作,通常我们会通过Handl ...
- 解析观察者模式在安卓程序中的应用——如何实现跨界面Handler通讯
这里特使用了github中的一个项目作为例子进行解析,地址为:https://github.com/LiqiNew/HandlerFrame/tree/master/handlerFrame/src/ ...
- 安卓开发笔记——关于Handler的一些总结(上)
接上篇文章<安卓开发笔记——关于AsyncTask的使用>,今天来讲下在安卓开发里"重中之重"的另一个异步操作类Handler. 今天打算先讲下关于Handler的一些 ...
随机推荐
- QT的文本加密方法(寒山居士)
http://blog.csdn.net/esonpo/article/details/12746315http://blog.csdn.net/esonpo/article/details/1174 ...
- iOS 操作系统架构
Mac OS 和 iOS 操作系统架构 做iOS开发已经半年多了,但是感觉对iOS开发的理解却还只停留在表面,昨天刚把两个项目结了,今天打算学了一下iOS系统的架构,以便于更好的理解和开发. 首先看一 ...
- POJ3581---Sequence 后缀树组
题意:n个数字组成的序列,第一个数字最大,,把序列分成3部分,每个部分分别翻转,输出翻转后字典序最小的序列.. 后缀数组变一下,,先求出 第一个分割的位置,,然后再求一次后缀数组,,求出第二个位置.. ...
- Raid1源代码分析--写流程
正确写流程的总体步骤是,raid1接收上层的写bio,申请一个r1_bio结构,将其中的所有bios[]指向该bio.假设盘阵中有N块盘.然后克隆N份上层的bio结构,并分别将每个bios[]指向克隆 ...
- Hadoop2.4.1 使用MapReduce简单的数据清洗
package com.bank.service; import java.io.IOException;import java.text.ParseException;import java.tex ...
- ORACLE表空间
在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段.区.块等逻辑结构.从物理结构上看是放在数据文件中.一个表空间可由多个数据文件组成. 如下图所示,一个数据库由对应 ...
- ORCL_UNINSTALL_WIN10
1.开始->设置->控制面板->管理工具->服务 停止所有Oracle服务. 2.运行Universal Installer 3.选择卸载产品 4.只勾选Oracle Data ...
- SQL-MICK基础
/*Select语句完整的执行顺序:1.from子句组装来自不同数据源的数据:2.where子句基于指定的条件对记录行进行筛选:3.group by子句将数据划分为多个分组:4.使用聚集函数进行计算: ...
- Struts+Spring搭建
前言 本文以Tomcat为j2ee容器,数据库为Sqlserver2005进行说明.Struts版本为2.3.15.3,Spring版本为3.2.5 Spring简介 Spring也是appache下 ...
- cocoapods 的使用心得
一般我们下载的demo里边含有cocoapods 我们需要 在终端上输入命令,让他能够成功运行 步骤如下: 打开终端 cd 项目目录 直接拖动到终端里边就可以, 然后 pod install 如果 ...