안드로이드 개발 질문/답변
(글 수 45,052)
//생략~!
Tmer = new Timer();
TimerTask task = new TimerTask()
{
public void run()
{
Log.d(">>>>>>>>>","다시 시작");
if (isRunnable==true)return;
mTimerHandler.sendEmptyMessage(1);
}
};
private Handler mTimerHandler = new Handler(){
public void handleMessage(Message msg){
switch (msg.what) {
case 1:
Reflash();
default:
break;
}
}
};
public void onResume(){
super.onResume();
timer.schedule(task, 1000,3000);
}
public void onPause(){
super.onPause();
timer.cancel();
/*timer = null;*/
task = null;
}
이런식으로 캔슬 시키고 다시 onresume시켜서 리플래쉬를 시키고 싶습니다. 그런데 이런 에러가 나네요~!!
처음은 타이머 돌아 가는데 다른 화면에서 다시 이 화면으로 왔을때 즉 onresume만 발생할때 에러가 납니다 무슨 이유일까요??
에러.bmp
Tmer = new Timer();
TimerTask task = new TimerTask()
{
public void run()
{
Log.d(">>>>>>>>>","다시 시작");
if (isRunnable==true)return;
mTimerHandler.sendEmptyMessage(1);
}
};
private Handler mTimerHandler = new Handler(){
public void handleMessage(Message msg){
switch (msg.what) {
case 1:
Reflash();
default:
break;
}
}
};
public void onResume(){
super.onResume();
timer.schedule(task, 1000,3000);
}
public void onPause(){
super.onPause();
timer.cancel();
/*timer = null;*/
task = null;
}
이런식으로 캔슬 시키고 다시 onresume시켜서 리플래쉬를 시키고 싶습니다. 그런데 이런 에러가 나네요~!!
처음은 타이머 돌아 가는데 다른 화면에서 다시 이 화면으로 왔을때 즉 onresume만 발생할때 에러가 납니다 무슨 이유일까요??
에러.bmp




IllegalStateException if the
Timerhas been canceled, or if the task has been scheduled or canceled.내용이 있는데요. onResume()만 놓구 보면 task가 null이라 그런게 아닐까하는 생각이 드네요.