2014-07-13 3 views
1

나는 일정 시간이 지나면 단순히 부울을 거짓으로 변경하는 방법을 만들고있다.안드로이드에서 TimerTask 사용하기

public void changeBool(int timeoutMillis, boolean toTurnFalse){ TimerTask tt = new TimerTask(){ @Override public void run() { toTurnFalse = false; } }; mTimer.schedule(tt, timeoutMillis); }

하지만 라인에 오류가 받고 있어요 : 지금까지 나는이 toTurnFalse = false;final 변수로 변경하라고 요구하지만 난이 일을하지 않으려하고 또한 다른 생산 오류 자체. final 변수 문제를 피하려면 어떻게합니까?

답변

1

의 작성하는 것은 당신이 당신의 활동 클래스의 내부에 글로벌 구성원으로 상태 변수가 다음 핸들러 메시지가이다 것과 핸들러를 통해 TimerTask를 파견하여 활동을보고 변수의 상태를 업데이트합니다.

또 다른 가능성은 짧은 시간 동안 타이밍을 잡으면 처리기를 통해 지연된 메시지를 보내고 TimerTask가 필요하지 않을 수 있습니다.

0

시도 당신이 무엇을해야 boolean tuTurnFalse = false 대신 대신 tuTurnFalse = false

+0

'toTurnFalse'를 사용하여 메소드에 전달 된 부울을 사용하려고합니다. 이 변경 작업을 수행하면 새로운 부울이 작성되고 false로 설정됩니다. –

+0

오, 알았어. – Ali

관련 문제