0

Android の新しいプロジェクトでは、サーバーからさまざまなユーザーから場所を受け取り、それを Google マップにオーバーレイとして配置する必要があります。これで、オーバーレイの場所を定期的に変更することは不可能に思えることを除けば、これは完璧に機能します。タイマーを使用できません。オーバーレイを削除して再度表示すると、ConcurrentModificationException がスローされるためです (なぜそれが行われるのか理解しています。別のスレッドでオーバーレイを変更することはできません)。また、新しい場所を取得するときにこれを行うことはできません。これは、websockets を使用してそれらを取得し、これも別のスレッドで機能するためです。

UIスレッド内でUIを定期的に更新できる方法があるので、オーバーレイを削除できます(オーバーレイを移動するだけでも問題ありませんが、それでも定期的な更新が必要だと思います...)?

それはとても単純な問題のように思えましたが、私は何時間もそれを探していて、解決策を見つけることができません...

これをどのように行うべきかについての助けをいただければ幸いです。

ごきげんよう!

E.

4

1 に答える 1

0

UIHandlerスレッドで を作成し、クラス変数に格納します。次に、タイマーまたは websocket スレッドで、そのハンドラーを使用しRunnableて更新コードを UI スレッドにポストします。

于 2012-05-24T03:13:48.867 に答える