2010-07-08 12 views
2

안드로이드 용으로 Timer for Thread safe가 있습니까? 타이머를 사용하면 응용 프로그램에서 gui를 업데이트하는 동안 문제가 발생합니다. 대부분의 경우 GUI가 다른 스레드에서 업데이트되고 있다고 불평하지만 핸들러를 사용했지만 문제를 해결하지 못했습니다.스레드 안전 타이머가 있습니까?

+0

"핸들러를 사용해 보았지만 문제가 해결되지 않았습니다." 타이머가있는 핸들러를 사용하면 어떻게됩니까? 나는'Handler'와 함께'Timer'를 사용하고 있습니다. –

+0

핸들러가이 스레드에서 생성 될 수없고 루퍼를 사용하도록 제안한다는 새로운 오류가 발생합니다. 다음 looper 및 내 처리기를 사용하여 잘 작동하지만 GUI 첫 번째 오류 있어요 다른 스레드에서 업데이트 할 수 없습니다. – aryaxt

+0

당신의 액티비티에'Handler'를 생성하고 타이머를 사용하기 위해 사용하고있는'Task' 객체에 그것을 넘겨 주어야합니다. –

답변

1

ViewspostDelayed()을 사용하십시오. 그 일을하고 나서 postDelayed()으로 다시 전화하십시오.

Looper/Handler을 사용하는 대신 runOnUiThread()을 사용하십시오.

또는 일반 이니셜 라이저가있는 클래스의 개인 데이터 멤버로 Handler을 만드십시오. 백그라운드 스레드에서이 클래스를 만들면 작동하지 않는 것으로 보입니다.