首页 > 其他分享 >Android 返回UI线程几种方法

Android 返回UI线程几种方法

时间:2023-07-10 10:56:02浏览次数:47  
标签:代码 Handler UI 线程 Android post View

  1. runOnUiThread() 方法:
    在 Activity 或 Fragment 中,可以使用 runOnUiThread() 方法来在 UI 线程上运行代码。
    它接受一个 Runnable 对象,将其提交到 UI 线程的消息队列中执行。
    例如:

    runOnUiThread { // 在 UI 线程上执行代码 }
  2. Handler 和 post() 方法:
    你可以使用 Handler 来发送消息到 UI 线程并执行相应的操作。
    通过在 Handler 上调用 post() 方法并传递一个 Runnable 对象,可以将代码提交到 UI 线程执行。
    例如:

    val handler = Handler(Looper.getMainLooper()) 
    handler.post { // 在 UI 线程上执行代码 }
  3. View 的 post() 方法:
    每个 View 对象都有一个 post() 方法,可以将代码提交到与该 View 关联的 UI 线程。
    通过在 View 上调用 post() 方法并传递一个 Runnable 对象,可以将代码提交到 UI 线程执行。
    例如:

    yourView.post { // 在 UI 线程上执行代码 }

     

标签:代码,Handler,UI,线程,Android,post,View
From: https://www.cnblogs.com/javaktolin/p/17540360.html

相关文章

  • vscode + nodesjs import 和 require 使用的两种case
    在环境nodejs+vscode的环境下,使用nodejs作为js的解释器, 在这种环境中直接使用export/import是无法正常工作的。 解决方式有两个:1.npminit-y胜场package.json修改内容增加: "type":"module",{"name":"javascript","version":"1.0.0&qu......
  • 线程池addWorker执行流程(添加工作线程)
    1//添加工作线程2privatebooleanaddWorker(RunnablefirstTask,booleancore){3//对线程池状态的判断以及对工作线程数量的判断4//外层for循环的标识5retry:6for(;;){7//获取ctl值8intc......
  • elementui el-draw自定义拖拽指令
    一、问题引入场景:el-draw抽屉高度(宽度)可拖拽二、解决方案使用vue指令,el-draw打开后,插入一个元素,绑定鼠标事件实现拖拽主要代码如下/***el-drawer拖拽高度指令*/Vue.directive('el-drawer-drag-height',{bind(el,binding,vnode,oldVnode){......
  • elementUI 下拉框select可编辑option
    下拉框里点击编辑图标出现输入框,但是点击输入框时,下拉框会自动关闭,如何不让下拉框自动关闭?     <el-selectv-model="selectValue"ref="refSelect"placeholder="请选择"class="select"@visible-change="visibleChange"......
  • CF559B - Equivalent Strings
    首先我们考虑第一种做法,我们搜索\(dp_{x,y,l,r}\)判断\(s[x,y]\)和\(t[l,r]\)是否等价,同时记忆化搜索。但是这样是很明显不行的。如果长度是\(2\)的整次幂,我们仅分析最底层长度为\(1\)的区间,我们发现,任何的\([x,x][y,y](x\len/2)\),都会被搜到一遍。这个可以递归处理,......
  • java 线程等待和唤醒方法
    java线程状态变迁图从图中可以看出Java线程等待方法是将线程从Runnable状态转换为Waiting状态,Java线程的唤醒方法是将线程从Waiting状态唤醒进入Runnable状态在Java中线程的等待和唤醒主要是分为3组:Object.wait()和Object.notify()LockSupport.park()和LockSupport.unp......
  • 03线程安全
    线程安全发生的终极原因是:内存,寄存器存在时间差。今天突然想到一个很好的例子 解释这个问题:一堂随堂测试,你正在答一道题,老师巡考看到你的答案是正确的,其他同学全部是错误的。晚上老师说道这次考试这道题只有一个同学做对了。但是老师不知道你在他走后,修改了答案。最终考试试卷......
  • 【雕爷学编程】Arduino动手做(153)---2.4寸TFT液晶触摸屏模块8
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • String、StringBuffer、StringBuilder 的区别?
    一.介绍String、StringBuffer、StringBuilder:  前言: String、StringBuffer、StringBuilder均在java.lang包下;String: 在Java中,String是一个特殊的引用类型,用于表示文本字符串。它提供了许多方法来操作和处理字符串,比如连接、截取、查找、替换等。String类......
  • 网络3️⃣QUIC
    快速UDP互联网连接(QuickUdpInternetConnection)......