package com.hanqi.testapp2; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.TextView; public class TestActivity5 extends AppCompatActivity { TextView tv_5; TextView tv_6; Button bt_3; Button bt_4; Button bt_5; //定义handler Handler h = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); if(msg.what==1){ String m=msg.obj.toString(); tv_5.setText(tv_5.getText()+m); } else if(msg.what==2){ tv_5.setText(tv_5.getText()+"空消息"); } } } ; int i = 10; Handler h1=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what){ case 1: bt_3.setEnabled(false); bt_4.setEnabled(true); bt_5.setEnabled(true); if(i==20){ return ; } i++; tv_6.setText(i+""); h1.sendEmptyMessageDelayed(1,1000); h1.removeMessages(2); break; case 2: bt_3.setEnabled(true); bt_4.setEnabled(false); bt_5.setEnabled(true); if(i==1){ return ; } i--; tv_6.setText(i+""); h1.sendEmptyMessageDelayed(2,1000); h1.removeMessages(1); break; case 3: bt_3.setEnabled(true); bt_4.setEnabled(true); bt_5.setEnabled(false); h1.removeMessages(1); h1.removeMessages(2); break; } } }; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test5); tv_5=(TextView)findViewById(R.id.tv_5); tv_6=(TextView)findViewById(R.id.tv_6); bt_3=(Button)findViewById(R.id.bt_3); bt_4=(Button)findViewById(R.id.bt_4); bt_5=(Button)findViewById(R.id.bt_5); } public void bt6_OnClick(View v){ switch (v.getId()){ case R.id.bt_3: h1.sendEmptyMessage(1); break; case R.id.bt_4: h1.sendEmptyMessage(2); break; case R.id.bt_5: h1.sendEmptyMessage(3); break; } } public void bt2_OnClick(View v){ new Thread(){ @Override public void run() { //发送消息 //创建消息 Message m = Message.obtain(); m.what=1;//id m.obj="我传递的信息1"; //发送即时消息 h.sendMessage(m); m = Message.obtain(); m.what=1;//id m.obj="我传递的信息2"; //发送延迟消息 h.sendMessageDelayed(m,2000); h.sendEmptyMessage(2); } }.start(); } }