MainActivity如下:

package cn.testlooper;
import android.app.Activity;
import android.os.Bundle;
import android.os.Looper;
import android.widget.TextView;
import android.widget.Toast;
/*** Demo描述:* 在子线程中Looper的使用* * 测试结果:* 可在子线程中更改UI* * 原理备注:* 在View和Toast的源码中均含有一个Handle* 这样的话在子线程中:* Handle Message Looper MessageQueue这套机制 * 就齐备了.* 关于此原理有待于进一步研究* * 参考资料:* http://blog.csdn.net/xiaanming/article/details/9344703*/
public class MainActivity extends Activity {public TextView mTextView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);init();}private void init() {mTextView=(TextView) findViewById(R.id.textView);testLooper();}private void testLooper(){new Thread(new Runnable() {@Overridepublic void run() {Looper.prepare();mTextView.setText("9527");Toast.makeText(MainActivity.this, "hello", Toast.LENGTH_LONG).show();Looper.loop();}}).start();}}

main.xml如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/hello_world"android:layout_centerInParent="true"android:textSize="25sp"/></RelativeLayout>

转载于:https://www.cnblogs.com/dyllove98/p/3233897.html

Android利用Looper在子线程中改变UI相关推荐

  1. android 不能在子线程中更新ui的讨论和分析

    问题描述 做过android开发基本都遇见过 ViewRootImpl$CalledFromWrongThreadException,上网一查,得到结果基本都是只能在主线程中更改 ui,子线程要修改 ...

  2. 为什么不能在子线程中更新UI

    首先声明一点:子线程里面是可以更新UI的--创建一个空白的Activity,在其xml文件中放一个空白TextView,Java代码如下: @Override protected void onCre ...

  3. C#子线程中更新ui

    本文实例总结了C#子线程更新UI控件的方法,对于桌面应用程序设计的UI界面控制来说非常有实用价值.分享给大家供大家参考之用.具体分析如下: 一般在winform C/S程序中经常会在子线程中更新控件的 ...

  4. Android子线程中更新UI的4种方法

    方法一:用Handler 1.主线程中定义Handler: Handler mHandler = new Handler() { @Override public void handleMessage ...

  5. android 线程 界面,android开发教程之子线程中更新界面

    每个Handler对象与创建它的线程相关联,并且每个Handler对象只能与一个线程相关联. Handler一般有两种用途:1)执行计划任务,你可以再预定的实现执行某些任务,可以模拟定时器.2)线程间 ...

  6. Android 为什么不能在子线程中直接更新UI

    1.现象 在子线程中直接更新UI就会crash,报错如下: android.view.ViewRootImpl$CalledFromWrongThreadException:Only the orig ...

  7. 子线程中更新UI线程的三个方法

    1.通过handler方式,sendmessage. 多个类间传递比较麻烦,也懒的写... 2.线程中通过runOnUiThread() new Thread() { public void run( ...

  8. android-如何在子线程中更新ui

    参考:https://blog.csdn.net/u013356254/article/details/52287794 实现基本跟链接相同,不同只出在于WindowManager.LayoutPar ...

  9. android电脑文件列表不刷新,Android 利用RecyclerView.Adapter刷新列表中的单个view问题...

    首先使用RecyclerView的adapter继承:RecyclerView.Adapter public class OrderListAdapter extends RecyclerView.A ...

最新文章

  1. 关于Remote Desktop Users组
  2. 珍惜机会,去爱你身边的人!生命的箴言
  3. c#在WinForm中重写ProgressBar控件(带%的显示)
  4. 结构体怎么赋值_c语言学习之基础知识点介绍:结构体的介绍
  5. 如果能够让出资人了解更多的c++项目进程
  6. 【AD】如何将喜欢的图案导出成为丝印层和PCB形状
  7. java c 性能分析工具_Jprofiler使用介绍--java性能分析工具中文帮助
  8. EGE示例程序——2048
  9. 计算机专业专科毕业设计题目,专科生计算机专业论文题目大全 专科生计算机专业论文题目哪个好...
  10. Windows性能监控工具Perfmon使用指南
  11. 让技术Leader疯狂点赞的Linux速成手册,到底有多强悍?
  12. Zotero-word中引用跳转到参考文献/建立超链接-引用格式(Xie et al 2021, Achanta et al 2012)
  13. 颜色类中英文词汇大全(4)
  14. PilotEdit(文本编辑器软件)官方中文版V14.5.0 | pilotedit是什么软件
  15. 树莓派配置无线连接与无线AP热点
  16. c语言写骷髅病毒源码,骷髅病毒分析报告
  17. 直播课12-25 三个例子
  18. 宝塔连接服务器失败问题
  19. Java ArrayList indexOf() 方法 和 String indexOf() 方法区别
  20. 记录一次阿里云ECS服务器系统盘扩容

热门文章

  1. 逸仙电商企业网络推广如何打造出百亿完美日记后又收购高端护肤品牌
  2. 网络公司千千万,放心委托看这里!
  3. linux 多线程条件变量,linux多线程之条件变量
  4. lucene 范围过滤
  5. 使用Networkx进行图的相关计算——黑产集团挖掘,我靠,可以做dns ddos慢速攻击检测啊...
  6. JavaScript EventLoop
  7. python3 如何让字典保持有序
  8. python lambda匿名函数 用法
  9. oracle 的启动与连接
  10. Ubuntu中使用WPS