Вопрос о структуре приложения Android - PullRequest
0 голосов
/ 19 декабря 2010

В настоящее время я работаю над приложением, которое использует MapView и добавляет к нему оверлеи. По сути, в любой момент времени оверлейный список не должен превышать двух.

Вот что я пытался сделать ...

Я расширил класс ItemizedOverlay (MyFriendOverlay), а затем создал частный объект ArrayList внутри этого расширенного класса, к которому я бы прикрепил оверлеи. Тем не мение; Я столкнулся с проблемой, которую я не знаю, как решить. Если вы посмотрите на этот сегмент кода:

ImageView mapMarker = new ImageView(getApplicationContext()); mapMarker.setImageResource(R.drawable.markertrp);</p> <p>myPointsToShow = new myFriendOverlay(mapMarker.getDrawable(), getApplicationContext());

Как можно заметить, я создал ImageView со значком, основанным на моих рисунках. После этого у меня есть расширенный класс из ItemizedOverlay. В конструкторе он принимает два параметра: drawable и context.

Из того, что я знаю, необходим конструктор ниже (возможно, его можно изменить):

public myFriendOverlay(Drawable defaultMarker, Context context)

Проблема здесь в том, что я продолжаю создавать новый экземпляр myPointsToShow, что является проблемой, потому что у меня есть ArrayList, который я хочу использовать в расширенном классе, чтобы иметь прямой контроль над оверлеями. И каждый раз создавая новый экземпляр, я не добавляю его в список.

Короче говоря:

Все, что я хочу, - чтобы у моего приложения было две точки (A и B), где, если обнаруживается новое местоположение, скажем, B, затем удалите B из списка наложений и замените его новым местоположением. И то же самое для А. Чтобы упростить его, я хочу прикрепить индекс 0 к A и индекс 1 к B, чтобы он не охватывал две точки.

Я не могу найти решение для этого из-за проблемы необходимого конструктора, возможно, я слишком много думаю об этом ...

Пожалуйста, оставляйте отзывы! :)

Спасибо за чтение.

1 Ответ

1 голос
/ 19 декабря 2010

По своему опыту я делаю следующее:

  • Создание оверлея для каждого типа изображения, которое я собираюсь показать.
  • Если список элементов на оверлей не очень длинный, я передаю его в намерение.

Кстати, вам нужно использовать R.drawable.something для наложения. Вам не нужно создавать ImageView.

Я использую эту android-библиотеку для карт: android-mapviewballoons . Проверьте это!

...