初学者常见错误,android的多线程更新UI

来源:互联网 发布:java实现排序算法 编辑:程序博客网 时间:2024/04/28 00:18

android的多线程

方法1

class MyThread extends Thread {}new MyThread().start();

方法2

class MyThread implements Runnable {}MyThread myThread = new MyThread();new Thread(myThread).start();

非主线程更新UI

主线程通过handler接收message更新UI

public class MainActivity extends Activity implements OnClickListener {    public static final int UPDATE_TEXT = 1; private TextView text;    private Button changeText;    private Handler handler = new Handler() {        public void handleMessage(Message msg) {            switch (msg.what) {                case UPDATE_TEXT:                // 在这里可以进行UI操作                 text.setText("Nice to meet you"); break;                default: break;            } }        };

其他线程通过handler发送message

public void onClick(View v) {    switch (v.getId()) {         case R.id.change_text:        new Thread(new Runnable() {             @Override            public void run() {                Message message = new Message(); message.what = UPDATE_TEXT;                handler.sendMessage(message); // 将Message对象发送出去            } }).start();    break; default:    break; }    }}
1 0
原创粉丝点击