Я только начал работать с Android, и у меня проблемы с моей картой. Я создал TabActivity и добавил MapActivity в качестве одной из вкладок с:Android Flicker GoogleMaps
spec = tabHost.newTabSpec("map").setIndicator("Map");
intent= new Intent().setClass(this, NavisMapActivity.class);
spec.setContent(intent);
tabHost.addTab(spec);
В MapActivity я получаю MapView от макета XML с findViewById.
<com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="my_key_is_here"
android:clickable="false" />
Когда я загружаю приложение, все работает отлично, пока я не переключаю вкладки или не вызываю другое приложение. В основном, когда вызывается OnPause/OnStop. Затем, когда я возвращаюсь к карте, ее плитки начинают мерцать постоянно. Единственное решение - заставить приложение закрыться.
Это происходит только со спутниковыми плитами и с версии 2.3.5 (проверено на реальном телефоне и в эмуляторе Eclipse).
До сих пор я пытался:
- команда, используя mapView.destroyDrawingCache() в функции OnPause
- добавления MAPview с помощью кода вместо XML макета
- разрушающего весь MapActivity с LocalActivityManager, когда вкладка включается и создание нового
Ничего из этого не помогло. Может ли кто-нибудь помочь мне? Спасибо
Вы пробовали создавая пользовательскую tabActivity, которая простирается от MapActivity, а затем использует фрагменты для рамки содержимого вкладок? Это также уменьшит сложность вашей основной деятельности, что потенциально означает большую эффективность. Google Maps api для Android немного не хватает, я обычно нахожу. – pablisco
Нет, минимальное требование к версии - Android 2.1, и если я не ошибаюсь, фрагменты были реализованы позже. Поэтому я не могу их использовать. Я даже не работал с ними. – Ioras
Вы все еще можете использовать фрагменты с пакетом поддержки: http://developer.android.com/sdk/compatibility-library.html – pablisco