位置: 编程技术 - 正文

Android更新UI的四种方式(android更新ui的方式)

编辑:rootadmin
前言

推荐整理分享Android更新UI的四种方式(android更新ui的方式),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android更新实现的,android 更新ui,android ui 适配如何处理,android 更新ui,android updates,android实时更新ui,android实时更新ui,android更新实现的,内容如对您有帮助,希望把文章链接给更多的朋友!

相信初学Android开发的朋友来说,应该都会遇到一个问题,我们开启了一个线程,在这个线程里面我们进行了更新UI的操作,也许是在TextView显示了一行文字,也许是改变了ImageView显示的图片,虽然只是看似简单并且正确的操作,但是Android系统让你的程序光荣的崩溃了,并且你还不知道为什么错,这才是最痛苦的,曾经深受这种痛苦的我,为了不再让这种痛苦蔓延下去,我决定把更新UI的几种方法给大家好好说说,让大家在Thread的run方法中可以随心所欲的更新UI,再也不用痛苦了。

实现

利用Handler类的post方法

我们首先需要在MainActivity中生成一个Handler类的对象,可以不用实现handMessage方法,因为Handler类的对象此时不是处理消息而是充当发送消息的角色。

Android更新UI的四种方式(android更新ui的方式)

这样,我们出入一个Runnable,在里面实现我们更新UI的代码,然后就可以更新了,不会崩溃的。

利用Handler自己的处理消息的方法 我们知道Handler可以发送消息也可以处理消息,第一种方法我们用到了发送消息的功能,现在我们用它处理消息的功能。 我们需要生成一个Handler对象,并且我们需要覆盖它的处理消息的方法,然后我们自己实现我们需要的内容,如下面所示:

可以看到,我覆盖了handleMessage方法,然后在里面我添加了更新UI的代码,当然也是正确的,可以成功的更新UI。然后我们需要在MainActivity中调用Handler的发送消息的方法,给自己发送消息,然后才能处理,我们可以简单的调用一个方法发送一个空消息即可:handler.sendEmptyMessage(0);

在runOnUiThread方法中更新UI

runOnUiThread方法,根据其名称我们就可以知道这个方法可能就是用来更新UI的,因为更新UI必须在UI线程,其他线程不允许更新UI,所以我们在runOnUiThread方法中传入一个Runnable,然后我们在里面实现我们的操作就可以了。这个方法和第一个方法还是很像的,我个人还是比较喜欢这个方法的,因为它不需要一个Handler的对象,我觉得很方便啦。

View调用post方法实现更新UI 其他的三种方法我们都是通过其他的类和方法来实现View的更新,最后一个方法是View自己调用自己的方法来实现更新,不过还都是大同小异的问题,最后实现的原理还都是差不多的。

我们同样需要传入Runnable,然后更新就可以了。

总结

因为Android系统在设计的时候就不让我们在非UI线程进行更新UI的操作,不仅如此我们也不能在UI线程进行连接网络的操作,如果不知道的朋友可能会被坑死吧(本人已被坑过),都是为了UI线程的安全性,我们如果需要在UI线程进行更新操作,比如显示下载进度啦,更新进度条等等,我们这时候就需要一个能在UI线程和非UI线程进行通信的对象,通知UI线程去更新非UI线程的要求,这个对象我想Handler应该就是它了,至于Handler的重要性,我就不累述了,有兴趣的大家可以自己去找一些相关的资料来看,弄懂Handler机制的存在意义及使用方法,相信对开发还是很有帮助的。

android面试常考题 1、Android的四大组件是哪些,它们的作用?2、请`介绍下Android中常用的五种布局。3、android中的动画有哪几类,它们的特点和区别是什么4、android中有哪

Android 开发git学习,常用命令总结 转载地址:

Android演示工具 有的时候在写操作手册需要截图,或者给客户演示你的安装在手机上的AndroidAPP,可以使用豌豆荚、手机助手等工具。但是这些工具都比较大,几十兆

标签: android更新ui的方式

本文链接地址:https://www.jiuchutong.com/biancheng/376623.html 转载请保留说明!

上一篇:java List与array互相转换(java list和array list区别)

下一篇:android面试常考题(android面试题及答案2021)

  • 无形资产专利技术计入什么科目
  • 公司研发人员定义
  • 广告赞助支出可以抵税吗
  • 发票税率开错了3%开成5%怎么办
  • 劳动合同和劳务合同有什么区别 举例
  • 增值税发票认证平台
  • 包工包料工程要交哪些税
  • 增值税纳税申报表在哪里打印
  • 小企业以前年度损益调整科目取消了吗
  • 软件企业的工资怎么样
  • 会计凭证整理的要求有哪些
  • 应纳出口关税怎么算
  • 仪器检测费发票哪一类
  • 物业公司管理费用
  • 转让财产需要缴税吗
  • 个人独资的企业性质是什么
  • 纳税人核定征收企业所得税
  • 银行汇款风险提示
  • 提供建筑服务应在发票备注栏注明
  • 股权转让成本法和权益法
  • 递延所得税收益计算公式
  • 拿回费用票普票忘记入账怎么办?
  • 合伙企业对外投资收益怎么纳税
  • linux系统怎么关闭端口
  • 缴纳人身意外保险凭证是什么
  • 事业单位个税手续费返还需要上缴财政吗
  • 游戏不能全屏幕
  • 纯净版 win10
  • wordpress如何使用
  • 除了正式发票还有啥
  • 借款利息税前扣除需要发票
  • 应收账款和应付账款怎么对冲
  • ValueError: The device should not be ‘gpu‘, since PaddlePaddle is not compiled with CUDA问题解决(Paddle)
  • flexbuffers
  • promise的几种状态
  • laravel 实例
  • audit.exe
  • 远期外汇合约的特点
  • 先计提所得税还是先结转成本
  • 上季度的发票开出去了可以作废吗
  • 城镇土地使用税征收标准及计算方法
  • 经营一家淘宝店铺,自然就应该做好
  • 印花税可以年底报一次
  • 固定资产升级账务处理
  • 一般纳税人和小规模纳税人的区别
  • 季节性临时工什么意思
  • 差旅费分摊到各部门
  • 企业前期开办的费用怎么做会计分录
  • 城建税和教育附加税怎么算
  • 一般纳税人月销售额10万以下城建税
  • 充值卡赠送金额属于什么性质
  • 其他应付款做账
  • 公司临时工的车可以买吗
  • 个人所得税计算方法2023计算器
  • 折扣方式销售如何确定销售额?
  • 过年给员工派红包合适吗
  • 电子税务局申报比对异常
  • 什么叫系统服务
  • 企业租赁厂区的管理制度
  • 公司补缴社保怎么查不到
  • 会计每个月需要打印科目余额表吗
  • 固定资产多少金额必须招标
  • 电脑开机怎么设置默认系统
  • windows server 2008 r2最大支持内存
  • linux小技巧
  • mmtraylsi.exe是什么进程 有什么作用 mmtraylsi进程查询
  • win8系统设置锁屏密码
  • SFC无需光盘出马,硬盘搞定
  • win7无法打开windows功能
  • I810 Graphics LINUX Driver的安装
  • grid sheet
  • js 竖线
  • python 设计
  • 如何判断python列表长度
  • 开出去的专用发票存根怎么处理的
  • 税务稽查条例操作规程
  • 深圳地税电子税务局
  • 广东共青团如何解绑微信
  • 工会经费管理办法2021
  • 广州代理记账公司注册
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设