package com.example.handler;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=findViewById(R.id.tv);
Button but01=findViewById(R.id.but01);
/**
* 线程更改UI必须实现这个接收消失
* @param msg
*/
final Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what==0x123){ // 通过msg.what来获取消息
tv.setText("我是来测试Handler的"); 通过线程传送出来的信息,来设置UI界面
}
}
};
but01.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Thread thread=new Thread(new Runnable() { //创建一个线程
@Override
public void run() {
handler.sendEmptyMessage(0x123); //发送空消息,给handler
}
});
thread.start(); //启动线程
}
});
}
}