Handler更新ui的三种方式
2017-02-22 20:33
134 查看
1、第一种
2.第二种
第三种:
public class MainActivity extends Activity { private TextView text; private Handler handler = new Handler(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text = (TextView) findViewById(R.id.id_text); /** * new Thread()在该线程中实现你具体的业务逻辑,比如网络请求,耗时操作等等; * new Thread()是一个子线程,是非UI线程,如果在该线程中需要更新界面,则需要使用Handler; * */ new Thread() { @Override public void run() {//在run()方法实现业务逻辑; //... //更新UI操作; handler.post(new Runnable() { @Override public void run() { text.setText(使用Handler更新了界面); } }); } }.start(); }}
2.第二种
public class MainActivity extends Activity { private TextView text; private Handler handler = new Handler(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text = (TextView) findViewById(R.id.id_text); final MyRunnable myRunnable = new MyRunnable();//定义MyRunnable的对象; new Thread() { @Override public void run() { handler.post(myRunnable);//调用Handler.post方法; } }.start(); } class MyRunnable implements Runnable {//内部类实现Runnable接口; @Override public void run() {//还是在Runnable重写的run()方法中更新界面; text.setText(使用Handler更新了界面); } }}
第三种:
public class MainActivity extends Activity { private TextView text; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case 1: text.setText(使用Handler更新了界面); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text = (TextView) findViewById(R.id.id_text); new Thread() { @Override public void run() { //...你的业务逻辑; Message message = new Message();//发送一个消息,该消息用于在handleMessage中区分是谁发过来的消息; message.what = 1; handler.sendMessage(message); } }.start(); }}
相关文章推荐
- 《第一行代码》第二版 学习总结28 Android中子线程更新UI的三种方式
- Android中多线程编程(三)Handler更新UI的方式
- Android(进度条)异步更新UI的三种方式
- Android 更新UI的两种方式--Handler & runOnUiThread
- 搬迁学习笔记1——Handler的基本使用、子线程更新UI的方式
- Android更新ui 的几种方式?Handler 机制(二)
- Android 在子线程中更新UI的方式,使用handler
- Android中在子线程中更新UI的三种方式
- Android异步更新UI的方式之使用Handler消息传递机制
- Android中多线程编程(三)Handler更新UI的方式
- android studio 更新ui的四种方式 handler
- 三种方式实现在一个Activity中控制另一个Activity的UI的更新
- Android异步更新UI的方式之使用Handler的post(Runnabel r)方法
- android中的线程执行UI更新方式,以及Handler的初步了解
- Handler原理与使用,以及Android中异步更新的UI的方式
- Handler更新UI的几种方式
- Android中在子线程中更新UI的三种方式
- 面试常客Handler详细解析(更新UI的几种方式)(六)
- Android中更新UI的线程:Thread 、Handler 、Loopper 、TimerTask等
- 【android】使用handler更新UI