packagecom.example.alert;importandroid.R.integer;importandroid.app.Activity;importandroid.content.Intent;importandroid.os.Bundle;importandroid.os.Handler;importandroid.os.Message;importandroid.util.Log;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.TextView;public class HeadSetActivity extendsActivity {privateTextView tv_time;privateTextView tv_click;privateTextView tv_run;privateButton button1;privateButton button2;privateButton button3;private int time = 0;private boolean time_begin = true;private int click = 0;//创建消息队列
private Handler uiHandle = newHandler(){public voidhandleMessage(Message msg) {switch(msg.what){//实现计时器功能
case 1:
time++;
tv_time.setText("time:"+time);
uiHandle.sendEmptyMessageDelayed(1, 1000);break;default: break;
}
}
};//开启一个线程
private Runnable runnable = newRunnable() {
@Overridepublic voidrun() {//TODO Auto-generated method stub
tv_run.setText("runnable is start|time="+time);
}
};
@Overridepublic voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_time=(TextView)findViewById(R.id.tv_time);
tv_click=(TextView)findViewById(R.id.tv_click);
tv_run=(TextView)findViewById(R.id.tv_run);
button1=(Button) findViewById(R.id.bt1);
button2=(Button) findViewById(R.id.bt2);
button3=(Button) findViewById(R.id.bt3);//启动计时器以及runnable延时操作
button1.setOnClickListener(newOnClickListener() {
@Overridepublic voidonClick(View arg0) {//TODO Auto-generated method stub//启动activity1
if(time_begin) {
uiHandle.sendEmptyMessageDelayed(1, 1000);
tv_run.setText("runnable wait begin|time="+time);
time_begin= false;
}
click++;
tv_click.setText("click:"+click);
uiHandle.postDelayed(runnable,4000);
}
});//移除runnable延时操作
button2.setOnClickListener(newOnClickListener() {
@Overridepublic voidonClick(View arg0) {//TODO Auto-generated method stub
uiHandle.removeCallbacks(runnable);
tv_run.setText("runnable is clear|time ="+time);
}
});//清除消息队列的所有操作
button3.setOnClickListener(newOnClickListener() {
@Overridepublic voidonClick(View arg0) {//TODO Auto-generated method stub
uiHandle.removeMessages(1);
tv_click.setText("click");
tv_run.setText("wait...");
tv_time.setText("time");
uiHandle.removeCallbacks(runnable);
time_begin= true;
time= 0;
click= 0;
}
});
}
}