Projeto

Geral

Perfil

Bug #13768

Método de remoção dos ícones de informação remove apenas metade dos ícones

Adicionado por Pedro Augusto Franco11 meses atrás. Alterado há 11 meses atrás.

Estado:
Resolvido
Prioridade:
Normal
Data de início:
13/01/2018
Data de fim:
% Completo:

0%


Descrição

Ao esperar pelo método "UnsetInfo", que deveria eliminar os ícones de informação do mapa caso um ou mais beacons não sejam mais visíveis, ocorre a eliminação de apenas metade dos ícones.

Histórico

#1 Atualizado por Pedro Augusto Franco11 meses

  • Estado alterado de Novo para Resolvido

Assim que o método onCreate é chamado na view principal (Relative Layout), dois itens são criados: o mapa da ESAN e o ícone de localização. Sendo assim, a posição 0 e 1 da lista de filhos desta view, representam estes dois itens.
No entanto, esta lista é um Stack, o que faz com que, ao removermos um item do meio da lista, os itens posteriores ao removido, descem uma posição, para que não fiquem buracos na lista.
O que acontecia é que ao iterar sobre os elementos dentro da stack de filhos, ao remover o índice 2, o item no índice 3, assumia o índice 2, e assim sucessivamente.
Isso fazia com que o item a seguir do removido fosse pulado, removendo o seguinte.

O problema foi resolvido ao iterar a lista de trás para frente.

Também disponível em: Atom PDF