핸들러를 이용하여 스톱워치를 만드는데
특정 시간을(1분이 경과되었습니다.) 토스트 메세지로 출력하고 싶다면 어떻게 해야할까요?
public void onClick(View v){
switch (v.getId()){
case R.id.btnStart:
switch(mStatus) {
case START:
mBaseTime = SystemClock.elapsedRealtime();
mTimer.sendEmptyMessage(0);
mBtnStart.setText("Stop");
mBtnRecord.setEnabled(true);
mStatus = RUNNING;
break;
case RUNNING:
mTimer.removeMessages(0);
mPauseTime = SystemClock.elapsedRealtime();
mBtnStart.setText("Start");
mBtnRecord.setText("Clear");
mStatus = PAUSE;
break;
case PAUSE:
long now = SystemClock.elapsedRealtime();
mBaseTime += (now - mPauseTime);
mTimer.sendEmptyMessage(0);
mBtnStart.setText("Stop");
mBtnRecord.setText("Record");
mStatus = RUNNING;
break;
}
break;
case R.id.btnRecord:
switch (mStatus){
case RUNNING:
String record = mTextRecord.getText().toString();
record += String.format("%s\n", getTextTime());
mTextRecord.setText(record);
break;
case PAUSE:
mTimer.removeMessages(0);
mBtnStart.setText("Start");
mBtnRecord.setText("Record");
mTextTime.setText("00:00:00.00");
mStatus = START;
mTextRecord.setText("");
mBtnRecord.setEnabled(false);
break;
}
break;
}
}
String getTextTime(){
long now = SystemClock.elapsedRealtime();
long time = now - mBaseTime;
String sTime = String.format("%02d:%02d:%02d.%02d", time/1000/60/60, time / 1000 / 60, (time/1000)%60, (time%1000)/10);
return sTime;
}
}