我有一个简单的Google地图叠加层:http://pastebin.com/Rg8miMSh,我根据缩放级别添加/删除项目.删除/添加后,我在覆盖上填充填充并在地图视图上无效.一切正常,除了1个小问题:删除项目后,如果我点击其位置onTap仍然被触发,因为OverlayItem不再存在,我在com.google.android.maps.ItemizedOverlay中得到java.lang.ArrayIndexOutOfBoundsException. maskHelper(ItemizedOverlay.java:562)(完整堆栈跟踪 – http://pastebin.com/KThn4ZLE)
谁知道为什么会这样?最初我打电话给clear并再次添加所有项目,这似乎不会导致这个问题.然而,有许多项目这成为一个性能问题.仅添加/删除差异的速度要快得多,我想保留这种方法.
谢谢!
解决方法:
我通过调用“setLastFocusedIndex(-1);”解决了这个问题.在“doPopulate()”中.