对于Android中的新项目,我从服务器接收来自不同用户的位置,然后我需要将其作为叠加层放在Google地图上。现在这个工作完美,除了我似乎不可能定期更改覆盖的位置。我不能使用计时器,因为当我删除并再次显示重叠时,它会抛出ConcurrentModificationException(我理解为什么会这样做,你不能修改另一个线程中的重叠)。接收新位置时我也无法做到这一点,因为我使用websockets来检索它们,这也适用于不同的线程。
现在有一些方法可以在UI线程中定期更新UI,因此可以删除叠加层(只需移动叠加层也可以,但是我仍然需要定期更新...)? / p>
这似乎是一个简单的问题,但我一直在寻找它几个小时,但找不到任何解决方案......
非常感谢任何有关如何做到这一点的帮助!
电贺!
电子。
答案 0 :(得分:0)
在UI线程上创建Handler
并将其存储在类变量中。然后,在您的计时器或您的websocket线程中使用该处理程序将带有更新代码的Runnable
发布回UI线程。