마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

CountDownTimer관련 질문입니다.

0 추천
CountDownTimer 클래스를 이용해서 앱을 만들고 있는데요.

예를 들어 30초 카운트 다운이 다 끝나면 바로 이어서 40초 카운트 다운을 다시 시작하게 하고 싶은데

잘 안되네요.. 어떻게 해야 할까요?
익명사용자 님이 2013년 7월 24일 질문

2개의 답변

0 추천
지금 어떻게 짜셨는지 코드라도 올려보심이

그래야 어떻게 수정하라고라도 일러드리죠
Gradler (109,780 포인트) 님이 2013년 7월 24일 답변
timer = new CounterDown(15000, 1000);
 timer.start();
timer = null;
timer = new CounterDown(45000, 1000);
timer.start();

지금은 이런식으로 완전 무식하게 해놨는데 저 timer가 종료되는 걸 기다리게 해줘야 할 것 같아요..어떻게 해야 할까요?
자문 자답이지만 쓰레드로 해결하면 되군요 ㅋㅋㅋ
0 추천
CountDownTimer mCountDownTimer;
 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
 
mCountDownTimer = new CountDownTimer(15000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
// TODO Auto-generated method stub
Log.i("TAG", "First Timer onTick() : " + millisUntilFinished);
}
 
@Override
public void onFinish() {
// TODO Auto-generated method stub
Log.i("TAG", "First Timer onFinish()");
mCountDownTimer.cancel();
mCountDownTimer = null;
mCountDownTimer = new CountDownTimer(45000, 1000) {
 
@Override
public void onTick(long millisUntilFinished) {
// TODO Auto-generated method stub
Log.i("TAG", "Second Timer onTick() : " + millisUntilFinished);
}
 
@Override
public void onFinish() {
// TODO Auto-generated method stub
Log.i("TAG", "Second Timer onFinish()");
}
};
 
mCountDownTimer.start();
}
};
 
mCountDownTimer.start();
 
}
 
일단 질문상으로 올린 내용을 CountDownTimer 를 써서 이런식으로 짰는데 잘 되네요
하지만 제 생각엔 이것도 그다지 좋은 방법은 아닌듯 싶습니다.
 
어떤걸 짜시려는지 정확히는 모르겠지만,
타이머 보다는 핸들러와 runnable 을 구현해서 하는것이 좋을듯 싶습니다.
Gradler (109,780 포인트) 님이 2013년 7월 24일 답변
...