public
class
MainActivity
extends
AppCompatActivity {
TextView timer_Item_text_time;
ImageView timer_Item_Play;
ImageView timer_Item_Reset;
final
static
int
INIT =
0
;
final
static
int
RUN =
1
;
final
static
int
PAUSE =
2
;
int
curStatus = INIT;
long
baseTime, pauseTime;
Handler myTimer =
new
Handler(){
public
void
handleMessage(Message msg) {
timer_Item_text_time.setText(getTimeCheck());
myTimer.sendEmptyMessage(
0
);
}
};
public
String getTimeCheck(){
long
start =
0
;
long
now = SystemClock.elapsedRealtime();
long
output = start + (now - baseTime);
long
h = (output/
1000
/
60
/
60
) %
60
;
long
m = (output/
1000
/
60
) %
60
;
long
s = (output/
1000
) %
60
;
String outTime = String.format(
"%02d:%02d:%02d"
,
h, m, s);
return
outTime;
}
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
timer_Item_text_time = (TextView) findViewById(R.id.timer_Item_text_time);
timer_Item_Play = (ImageView) findViewById(R.id.icon_timer_Item_Play);
timer_Item_Reset = (ImageView) findViewById(R.id.icon_timer_Item_Reset);
timer_Item_Play.setOnClickListener(
new
View.OnClickListener() {
public
void
onClick(View view ) {
if
(curStatus == INIT) {
Toast.makeText(getApplicationContext(),
"플레이버튼 클릭됨"
, Toast.LENGTH_LONG).show();
timer_Item_Play.setImageResource(R.drawable.stop1);
timer_Item_Reset.setVisibility(View.VISIBLE);
baseTime = SystemClock.elapsedRealtime();
myTimer.sendEmptyMessage(
0
);
curStatus = RUN;
}
else
if
(curStatus == RUN){
myTimer.removeMessages(
0
);
pauseTime = SystemClock.elapsedRealtime();
timer_Item_Play.setImageResource(R.drawable.play1);
curStatus = PAUSE;
}
else
if
(curStatus == PAUSE){
long
now = SystemClock.elapsedRealtime();
baseTime +=(now - pauseTime);
myTimer.sendEmptyMessage(
0
);
timer_Item_Play.setImageResource(R.drawable.stop1);
curStatus = RUN;
}
}
});
timer_Item_Reset.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View view) {
Toast.makeText(getApplicationContext(),
"리셋버튼 클릭됨"
, Toast.LENGTH_LONG).show();
timer_Item_text_time.setText(
"00:00:00"
);
timer_Item_Play.setImageResource(R.drawable.play1);
timer_Item_Reset.setVisibility(View.INVISIBLE);
curStatus = INIT;
}
});
}
}