在本节只是在之前的MainActivity.java.文件中增加了实现逻辑的代码,所以就直接粘贴代码了,代码中我添加了注释
package com.example.counttime;
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.EditText;
import android.widget.TextView;
import java.util.Timer;
import java.util.TimerTask;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private EditText inputet;
private Button gettime,starttime,stoptime;
private TextView time;
private int i = 0;//获取当前时间时间
private Timer timer = null;//计时器
private TimerTask task = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
view();
}
private void view(){
// 寻找控件
inputet = findViewById(R.id.inputTime);
gettime = findViewById(R.id.getTime);
starttime = findViewById(R.id.beginTime);
stoptime = findViewById(R.id.stopTime);
time = findViewById(R.id.time);
// 添加点击事件
gettime.setOnClickListener(this);
starttime.setOnClickListener(this);
stoptime.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.getTime:
time.setText(inputet.getText().toString());
i = Integer.parseInt(inputet.getText().toString());
break;
case R.id.beginTime:
beginTime();
break;
case R.id.stopTime:
stopTime();
break;
}
}
private Handler mHandler = new Handler(){
public void handleMessage(Message msg){
time.setText(msg.arg1+"");//需字符串类型,所以加“”
beginTime();
}
};
//开始,每秒一减,到零停止
public void beginTime(){
timer = new Timer();//开始计时器
task = new TimerTask() {
@Override
public void run() {
if(i<=0)
return;
i--;
Message message = mHandler.obtainMessage();
message.arg1 = i;
mHandler.sendMessage(message);
}
};
timer.schedule(task, 1000);//启动Timer
}
public void stopTime(){
timer.cancel();//停止Timer
}
}
最后添加一张成品截图:
enmmmm······ 倒计时到这里就结束了,拜了