浅谈Android几种更新UI的方式
2016-09-23 21:07
399 查看
通过handler发送Message并回调handler自己的handleMessage方法更新UI:
在一个非UI线程中发送Message
调用handler自身的handleMessage方法
这种方式的优点在于结构清晰,功能明确,是比较推荐的一种更新UI的方式,但缺点是代码量偏大。
2.调用handler.post(Runnable r)方法更新UI:
这种方式代码量要少一些,结构也较为简单,逻辑清楚,但其本质上还是利用handler发送Message的方式来更新UI。
3.在非UI线程中直接调用runOnUiThread()方法来更新UI:
这种方法最好用,代码也简单易懂。
在一个非UI线程中发送Message
public class MyThread implements Runnable { @Override public void run() { while (true) { try { Message message = handler.obtainMessage(); message.what = 0; handler.sendMessage(message); Thread.sleep(3000); Message message1 = handler.obtainMessage(); message1.what = 1; handler.sendMessage(message1); Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } } } }
调用handler自身的handleMessage方法
private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 0: textView.setText("你好,世界!"); break; case 1: textView.setText("你好,程序员!"); break; } };
这种方式的优点在于结构清晰,功能明确,是比较推荐的一种更新UI的方式,但缺点是代码量偏大。
2.调用handler.post(Runnable r)方法更新UI:
public void onClick(View v) { handler.postDelayed(new Runnable() { @Override public void run() { int i = index % 4; index++; imageView.setImageResource(images[i]); handler.postDelayed(this, 3000); } }, 3000);
这种方式代码量要少一些,结构也较为简单,逻辑清楚,但其本质上还是利用handler发送Message的方式来更新UI。
3.在非UI线程中直接调用runOnUiThread()方法来更新UI:
new Thread("th2") { @Override public void run() { try { Thread.sleep(1000); runOnUiThread(new Runnable() { @Override public void run() { textView.setTextSize(40); textView.setText("ok"); } }); } catch (InterruptedException e) { e.printStackTrace(); } } }.start();
这种方法最好用,代码也简单易懂。
相关文章推荐
- Android 更新UI的几种方式
- android中更新UI的几种方式
- Android开发中更新UI的几种常用方式
- 浅谈Android中使用异步线程更新UI视图的几种方法
- android中更新UI的几种方式
- Android提高(15)——第五章 解析Android中更新UI的几种方式
- Android开发更新UI的几种方式
- Android中更新UI的几种方式
- Android: 在UI线程更新UI的几种方式
- Android更新UI的几种方式
- Android 中更新 UI 的几种方式
- Android更新UI的几种方式
- Android更新ui 的几种方式?Handler 机制(二)
- Android中更新UI的几种方式
- Android 更新UI的几种方式
- Android 更新UI的几种方式
- AndroidUI——后台线程更新UI的几种方式
- Android 更新UI的几种方式
- Android中更新UI的几种方式
- android中更新view的几种方式