2012-05-24 2 views
0

Android의 새 프로젝트의 경우 서버에서 여러 사용자의 위치 정보를받습니다. 그런 다음 Google지도를 오버레이로 배치해야합니다. 이제이 알은 오버레이의 위치를 ​​주기적으로 변경할 수 없다는 점을 제외하고는 완벽하게 작동합니다. 오버레이를 제거하고 다시 표시 할 때 ConcurrentModificationException을 던져서 타이머를 사용할 수 없습니다. 왜 그렇게했는지 이해하고 다른 스레드에서 오버레이를 수정할 수 없습니다. 웹 사이트를 검색하기 위해 웹 소켓을 사용하기 때문에 새 위치를 수신 할 때이 작업을 수행 할 수 없습니다. 또한 다른 스레드에서 작동합니다.UI 스레드 내 주기적 업데이트

UI 스레드 내에서 주기적으로 UI를 업데이트 할 수있는 방법이 있습니다. 오버레이를 제거 할 수 있습니다. 오버레이를 움직이면 문제가 없지만 여전히주기적인 업데이트가 필요합니다 ...)?

그것은 같은 간단한 문제처럼 보였다

하지만 난 시간 동안을 찾고있다 그리고 그것을 위해 어떤 해결책을 찾을 수 없습니다 ...

이 수행되어야하는 방법에 어떤 도움은 매우 극명하게 될 것이다!

Greets!

E.

답변

0

CREAT에게 당신의 UI 스레드에 Handler 및 클래스 변수에 저장합니다. 그런 다음 타이머 나 websocket 스레드에서 해당 핸들러를 사용하여 Runnable 업데이트 코드와 함께 UI 스레드에 게시하십시오.

+0

감사합니다. 작동했습니다. 그렇게 간단하지 않다고 믿을 수 없어! – user1413981