Android入门第37天-在子线程中调用Handler
简介
前一章我们以一个简单的小动画来解释了Handler。
这章我们会介绍在子线程里写Handler。如果是Handler写在了子线程中的话,我们就需要自己创建一个Looper对象了:创建的流程如下:
- 直接调用Looper.prepare()方法即可为当前线程创建Looper对象,而它的构造器会创建配套的MessageQueue;
- 创建Handler对象,重写handleMessage( )方法就可以处理来自于其他线程的信息了!
- 调用Looper.loop()方法启动Looper
本章示例
使用示例: 输入一个数,计算后通过Toast输出在这个范围内的所有质数,如下截图。
前端代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><EditTextandroid:id="@+id/inputNum"android:inputType="number"
Android入门第37天-在子线程中调用Handler相关推荐
- Android进阶:六、在子线程中直接使用 Toast 及其原理
最近因为个人原因,很久没有更文章,感谢关注的小伙伴,望谅解! 一般我们都把Toast当做一个UI控件在主线程显示.但是有时候非想在子线程中显示Toast,就会使用Handler切换到主线程显示. 但是 ...
- MFC子线程中调用updatedata()函数报错解决方法
在XXXDlg.h顶部添加 #define WM_UPDATEDATA WM_USER+100 关联自定义消息,在XXXDlg.cpp中消息处理函数中添加 ON_MESSAGE(WM_UPDATEDA ...
- Android利用Looper在子线程中改变UI
MainActivity如下: package cn.testlooper; import android.app.Activity; import android.os.Bundle; import ...
- android 不能在子线程中更新ui的讨论和分析
问题描述 做过android开发基本都遇见过 ViewRootImpl$CalledFromWrongThreadException,上网一查,得到结果基本都是只能在主线程中更改 ui,子线程要修改 ...
- 在子线程中创建新的窗体,遇到的问题。
场景: 服务端的应用程序创建了一个线程来接收客户端发来的消息,当接收到消息后,需要弹出一个新的窗体,作为响应操作等. 现象: 新创建的窗体呈现挂起.假死,或者一闪而过的现象. 原因: 新创建的响应窗体 ...
- 【Android 异步操作】Android 线程切换 ( 判定当前线程是否是主线程 | 子线程中执行主线程方法 | 主线程中执行子线程方法 )
文章目录 一.判定当前线程是否是主线程 二.子线程中执行主线程方法 三.主线程中执行子线程方法 一.判定当前线程是否是主线程 在 Android 中 , 如果要判定当前线程是否是主线程 , 可以使用如 ...
- Android子线程中更新UI的4种方法
方法一:用Handler 1.主线程中定义Handler: Handler mHandler = new Handler() { @Override public void handleMessage ...
- 适用于android 4.0以上版本的子线程网络图片查看器
android 4.0版本的新特性之一:加载网络内容时会自动判断是否在主线程中运行. 并且获取到内容时不能直接在子线程中设置主线程中的View,会报出以下异常 异常: CalledFromWrongT ...
- Android入门第七篇之ListView (二)
Android入门第六篇之ListView (一) ,讲的是如何制作一个具有两行文本的 自定义控件 ,作为ListView的Item的使用方法.这篇接下来也是围绕ListView和Item,更加深入地 ...
最新文章
- iptables从入门到精通
- springmvc静态资源;mvc:default-servlet-handler后Controller失效
- Lintcode 408 解题思路及c++代码
- Web前端开发笔记——第一章 Web前端概论
- nRF51822 SDK初体验
- Linux内核:容器底层cgroup如何使用
- 单片机机器周期怎么计算公式_单片机的机器周期计算
- 版本为2.5的OpenMP的所有API函数
- 关于使用IDEA导入项目后依赖报错的解决方案
- 嵌入式linux clion,跨平台IDE集成开发环境Clion教程:嵌入式开发
- jsoup Java HTML解析器
- nginx强制下载txt等文件
- koreader下载_kindle koreader
- 铂电阻测温电路c语言程序,pt100测温电路(经典测温范围)
- 华为手机怎么刷android系统,怎样刷入安卓原生系统 在手机系统更新这件事上,小米华为和OPPOvivo谁更有良心...
- 【1】数据可视化:基于 Echarts + Python 实现的动态实时大屏 - 互联网企业数据
- IIS配置php+soap
- 聚类之层次聚类、基于划分的聚类(…
- 数据库中的多表联查(四表联查)
- Java开发培训班该怎样选择?
热门文章
- 乒乓球实战战术和技巧
- Linux-统计文件或文件夹的大小
- c语言数组项目按身高排序,过三关 Java冒泡排序选择排序插入排序小练习
- 三次固支样条matlab,matlab连续梁程序的编制与使用
- 编辑中的word变成只读_如何解决Word保存几次就变成只读另存为的问题
- LeetCode:121.买卖股票的最佳时机——动态规划
- iphone录制脚本_应用程序是否真的在录制您的iPhone屏幕?
- 算法技巧——双指针算法
- 让你的网页引入思源字体
- Failed to connect to github.com port 443 after 21060 ms Timed out