체스 시계를 만들지 만 지연이 필요합니다 (카운트하기 전에 10 초 기다리는 것처럼). 핸들러를 사용했지만 버튼을 10 초 이내에 클릭하면 아무 일도 일어나지 않습니다. 도와주세요! 감사! 내 코드 :카운트 다운 타이머 지연 - Android
mHandler.postDelayed(new Runnable() {
public void run() {
// count down timer start
timer2 = new CountDownTimer(totalSeconds, Integer.parseInt(delay.getText().toString())) {
public void onTick(long millisUntilFinished) {
secondsTimer = (int) (millisUntilFinished/1000) % 60;
minutesTimer = (int) ((millisUntilFinished/(1000 * 60)) % 60);
hoursTimer = (int) ((millisUntilFinished/(1000 * 60 * 60)) % 24);
person2.setText(hoursTimer + ":" + minutesTimer + ":" + secondsTimer);
}
public void onFinish() {
person2.setText("Time Up!");
person2.setBackgroundColor(Color.RED);
mp.start();
}
}.start();
}
}, finalDelay);
나는 지연을 원하지만 나는 UI를 고정하고 핸들러와 지금하고있는대로 응용 프로그램이 응답하지 만들고 싶어하지 않습니다. 어떤 도움을 주시면 감사하겠습니다! 미리 감사드립니다!
감사합니다, 도움이 보입니다.하지만 당신은 'startHandlerAfterWaited10Seconds()'메소드에서 무슨 일이 일어나는지 설명 할 수 있습니까? –
안녕 Kharbanda, 당신이 언급 한 방법은 카운트 다운 타이머처럼 행동. 그리고 CountDown 타이머 클래스 대신 Handler를 사용하는 것이 좋습니다 이유는 다음과 같습니다. - 처리기는 CountDown 타이머 클래스보다 더 우수한 성능을 가져야합니다. 여기에서 유용한 정보를 찾을 수 있습니다. http://stackoverflow.com/questions/35497844/handler-postdelayedrunnable-vs-countdowntimer 또한 CounDown 타이머는 실제로 처리기를 코어에 구현했습니다. –
고마워! 나는 당신의 설명이 웹 사이트뿐만 아니라 유용하다는 것을 알았다! 고마워. 하지만 확실히, 카운트 다운 타이머는 startHandlerAndWait10Seconds()의 메소드입니까? –