public class MainActivity extends Activity implements View.OnClickListener {

private Button btnStart;
private Button btnStop;
private TextView textView;
private Timer timer = new Timer();
int cnt = 0;
private EditText etTime;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnStart = (Button) findViewById(R.id.btn_start);
btnStop = (Button) findViewById(R.id.btn_stop);
textView = (TextView) findViewById(R.id.textview);
etTime = (EditText) findViewById(R.id.et_time);
btnStart.setOnClickListener(this);
btnStop.setOnClickListener(this);
textView.setText("00:00:00");
} @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_start:
// 手动输入时间测试
// String content = etTime.getText().toString();
// String time = getStringTime(Integer.parseInt(content));
// textView.setText(time);
// System.out.println("当前秒数为:"+time.substring(time.lastIndexOf(":")+1));
// System.out.println("当前分钟数为:"+time.substring(time.indexOf(":")+1,time.lastIndexOf(":")));
// System.out.println("当前小时数为:"+time.substring(0,time.indexOf(":")));
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
textView.setText(getStringTime(cnt++));
}
});
}
};
if (timer == null) {
timer = new Timer();
}
timer.schedule(timerTask,0,1000);
break;
case R.id.btn_stop:
timer.cancel();
timer = null;
break;
}
}


private String getStringTime(int cnt) {
int hour = cnt/3600;
int min = cnt % 3600 / 60;
int second = cnt % 60;
return String.format(Locale.CHINA,"%02d:%02d:%02d",hour,min,second);
}
}

效果图

Android实现计数器功能_ide

​字符串格式化​

​​解决String格式化问题​​