Android

invalidate vs. postInvalidate

tomato13 2010. 6. 29. 11:22

특정 view를 갱신하고자 invalidate 메써드를 사용하였는데 onDraw 함수가 호출되지 않았다. 


(아래와 같이 주기적으로 task가 호출되어 view를 갱신하고자 하였던 것이다.)

TimerTask myTask = new TimerTask() {

public void run() {

mLevel.invalidate();

//mLevel.postInvalidate();

}

};


Timer timer = new Timer();

timer.schedule(myTask, 500, 2000);


여기저기 찾아보다 별도의 thread에서 특정 view의 onDraw함수를 호출하기 위해서는 postInvalidate함수를 사용해야한다고 하여 문제를 해결할 수 있었다.


http://ttkon.tistory.com/5

http://blog.daum.net/sukee/17162405