안드로이드 개발 질문/답변
(글 수 45,052)
TimerTask task = new TimerTask(){
public void run() {
try {
_ship = 0;
} catch (Exception e) {
e.printStackTrace();
}
}
};
Timer mTimer = new Timer();
mTimer.schedule(task, 9500);
이것을 어떤 신호를 주면 9500 후에 run()을 실행 하게 하고 있는데요.
현재
만약 처음 신호가 주어진 상태에서 두번째 신호가 주어지게 되면 처음 신호에서부터 9500 후에 run()이 실행 되고 있어요.
저는
처음 신호가 주어진 상태에서 두번째 신호가 주어지면 두번째 신호에서부터 9500 후에 ruc()이 실행 되게 하고싶어요. ㅠㅠ
만약 처음 신호, 두번째 신호 가 돌아가는 중에 세번째 신호가 주어지면 세번째 신호에서부터 9500후에 run()이 실행되는 식이에요.
어떻게 해야 될까요? ㅠ 신호 발생 마다 시간을 초기화 해줘야 되는 건가요? ㅠ




타이머를 객체가 여러개 만들어져서 각자 돌아가고 있는 형국입니다.
타이머를 만들때 그 아이디를 맵에 하나씩 기록해 놓고 있다가
새로운 타이머가 생성될때 그 이전 타이머는 취소하는 방식으로 구현해 보세요