Handle一般步骤:
1.创建Handler成员变量对象, 并重写其handleMessage(), 回调方法在handler接收到message之后执行的方法后自动调用
2.在分/主线程创建Message对象
3.使用handler对象发送Message
4.在handleMessage()中处理消息
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 implements View.OnClickListener{
private static final int CHANGE_TEXT=1;
private TextView mText;
private Button mBtn_change;
//1.在主线程创建Handler成员变量对象, 并重写其handleMessage()
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
//4.在handleMessage()中处理消息
super.handleMessage(msg);
switch (msg.what){
case CHANGE_TEXT:
//在这里可以进行UI操作
mText.setText("Hello!!!");
break;
default:
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mText= (TextView) findViewById(R.id.tv_text);
mBtn_change= (Button) findViewById(R.id.btn_change);
mBtn_change.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.btn_change:
//开启一个子线程
new Thread(new Runnable() {
@Override
public void run() {
//2.在分/主线程创建Message对象,存储需要发送的消息
Message message=new Message();
message.what=CHANGE_TEXT;//(CHANGE_TEXT可以==1),what是标识
//3.使用handler对象发送Message
//然后将消息发送出去
handler.sendMessage(message);
}
}).start();
break;
default:
break;
}
}
}