Android开发中在线程(非主线程)中更改视图
来源:互联网 发布:stddev sqlserver 编辑:程序博客网 时间:2024/06/09 06:50
第一种:使用Activity中的 runOnUIThread(Runable run) 函数
public class MainActivity extends AppCompatActivity { private TextView textView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.textView); //非主线程 new Thread(){ @Override public void run() { MainActivity.this.runOnUiThread(new Runnable() { @Override public void run() { textView.setText("Hello World!!!"); } }); } }.start(); }}
第二种:使用Handle类
public class MainActivity extends AppCompatActivity { private TextView textView = null; private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { textView.setText("Hello World!!!"); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.textView); //非主线程 new Thread(){ @Override public void run() { Message msg = new Message(); handler.sendMessage(msg); } }.start(); }}
第三种:使用View类中的 post(Runable run) 函数
public class MainActivity extends AppCompatActivity { private TextView textView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.textView); //非主线程 new Thread(){ @Override public void run() { textView.post(new Runnable() { @Override public void run() { textView.setText("Hello World!!!"); } }); } }.start(); }}
阅读全文
0 0
- Android开发中在线程(非主线程)中更改视图
- WebBrowser在非主线程的线程中创建
- Android中在非主线程中刷新界面
- 在Android中,非主线程不能更新UI
- 在非主线程中创建窗口
- 在非主线程中创建窗口
- 在非主线程中创建窗口
- 在非主线程中创建窗口
- 在非主线程中创建窗口
- 在非主线程中创建窗口
- Android 在子线程中更新主线程UI
- Android开发 四大组件是否运行在主线程中?
- 在非主线程中不能操作主线程中的View
- Toast在非UI主线程的其他线程中显示报错
- adapter的数据应该在主线程中进行更改
- Android中在主线程与在子线程中更新UI的探索
- Android显示系统之View与SurfaceView更新屏幕的区别.对于View.则是在UI主线程中更新画面.SurfaceView更新屏幕,是在非UI线程(主线程)中实现SurfaceHolde
- android中实现在工作线程与主线程互发消息
- Leetcode 437. Path Sum III
- Dialog响应WM_CHAR消息
- js常用正则表达式
- Java 之 Socket通信(一)
- Android 加权限
- Android开发中在线程(非主线程)中更改视图
- python 某公司机试题小记
- Android Studio安装
- 关于语音动画加上JS点击控制的方式
- Unity Shader入门精要笔记(十二):纹理属性
- (二)802.11标准简介
- Boost1.62.0 + VS2015 默认编译与配置
- u-boot从内存启动命令 bootz
- Android 自带描边颜色渐变炫酷进度条