2013-09-27 2 views
0

Я использую GoogleMap.InfoWindowAdapter для установки содержимого окон моего маркера.Actualize a Marker's window

Но содержимое находится на сервере, и я использую asynctask для его получения.

Сделка в том, что когда у меня есть ответ, мои окна уже созданы. И если я жду ответа asynctask следующим образом: asynctask.execute (...). Get() приложение замерзает во время выполнения.

Что бы я хотел сделать, это показать окно с progressBar, и когда у меня появится ответ сервера, я удаляю progressBar и актуализую содержимое окна.

Как я мог это сделать?

Заранее спасибо

ответ

1

поэтому используйте onPreExecute, чтобы начать прогрессбар и отменить его в onPostExecute

Редактировать

из документации:

The info window that is drawn is not a live view. The view is rendered as an image (using View.draw(Canvas)) at the time it is returned. This means that any subsequent changes to the view will not be reflected by the info window on the map. To update the info window later (for example, after an image has loaded), call showInfoWindow(). Furthermore, the info window will not respect any of the interactivity typical for a normal view such as touch or gesture events. However you can listen to a generic click event on the whole info window as described in the section below.

что вы пытаясь сделать не goi ng для работы, поскольку он отображается как изображение. единственный способ, которым Вы можете смоделировать это будет постоянно звонить showInfoWindow() на обновление прогресса

посмотрите на эту ссылку

Google Maps Version 2 - Updating information windows

+0

Это не точка. Запрос находится в InfoWindowsAdapter. Не в виде простого фрагмента или активности. – nsvir

+0

не собирается работать, как вы этого хотите, см. Мое редактирование – tyczj