2012-11-03 3 views
0

MainActivity OnCreate:О ItemizedOverlay

List<Overlay> listOfOverlays = mapView.getOverlays(); 
    listOfOverlays.add(myItemizedOverlay); //List<OverlayItem> of myItemizedOverlay is empty 

Позже я добавлять и удалять элементы из myItemizedOverlay.

Когда список myItemizedOverlay пуст, и я нажимаю на карту, тогда я получаю ошибку.

Как правильно организовать этот процесс?

+0

В форме 2 кнопки: Добавить элемент, Удалить элемент. Во время процесса это может быть момент, когда myItemizedOverlay не имеет элементов. – user1464440

ответ

0

Однажды я столкнулся с подобной проблемой, или так я думаю. Я разрешил пользователю сохранять их местоположение, и я сохранил их в файле. Затем, когда они просматривали карту, я загружал содержимое файла (местоположения) и использовал наложение для отображения элементов на карте. Однако, если не было предметов, и карта была нажата, я получил ошибку.

Если это проблема, с которой вы столкнулись, я решил проблему, поставив простую инструкцию if.

Когда я получаю адреса из файла, который я бы поместить каждое место в ArrayList, поэтому я использовал это, если заявление:

if (!fileList.isEmpty()){} 

И я разместил весь код для добавления пометок в этом случае заявление , Надеюсь, это поможет!

+0

Спасибо за ответ. Но может быть, это лучше, чем добавить и удалить весь myItemizedOverlay из mapView? – user1464440

+0

Я не слишком уверен, что вы имеете в виду. fileList - это arraylist, поэтому, когда вы нажимаете кнопку добавления, вы можете просто использовать метод fileList.add(); и когда вы нажмете кнопку удаления, вы можете использовать метод fileList.remove(); Таким образом, он будет работать, и вы не получите сообщение об ошибке, когда список пуст, если код находится внутри этого оператора if. – chRyNaN

Смежные вопросы