После удаления OverlayItem события касания все еще срабатывают - PullRequest
3 голосов
/ 27 октября 2010

У меня есть простое наложение для карты Google: http://pastebin.com/Rg8miMSh, и я добавляю / удаляю элементы на нем в зависимости от уровня масштабирования.После удаления / добавления я вызываю заполнить наложение и сделать недействительным в представлении карты.Все работает просто отлично, кроме 1 глюка: после удаления элемента, если я коснусь его местоположения, по-прежнему срабатывает onTap и поскольку OverlayItem больше нет, я получаю java.lang.ArrayIndexOutOfBoundsException в com.google.android.maps.ItemizedOverlay.maskHelper (ItemizedOverlay.java:562) (трассировка полного стека - http://pastebin.com/KThn4ZLE)

Кто-нибудь знает, почему это происходит?Сначала я позвонил «очистить» и снова добавил все элементы, что, похоже, не вызывало этой проблемы.Однако, имея много предметов, это становилось проблемой производительности.Добавление / удаление только разницы работает намного быстрее, и я хотел бы сохранить этот метод.Спасибо!

1 Ответ

8 голосов
/ 08 декабря 2010

Я решил это, вызвав setLastFocusedIndex (-1);в "doPopulate ()".

...