Intereting Posts
Использует Fragment setRetainInstance (true) действительно хорошая практика для обработки изменения вращения Размер изображения камеры Android Android Picasso автоматически поворачивает изображение Как создать иерархию файлов в каталоге Androids / data / data / pkg / files? Android HTML5 – мягкая клавиатура перекрывает входное поле Изменение дизайна материала AppCompat ActionBar Color Предупреждение безопасности Google Play для небезопасного TrustManager Как я могу расширить CardViews, чтобы показать больше деталей, таких как карты Google Keep? Как прокрутить макет, который имеет 3 вида списка Рефактор> Перемещение перекрывает местоположение другого проекта Как работает синтаксис доступа к свойствам Kotlin для классов Java? Как я могу избежать отклонения диалога AlertDialog.Builder, когда пользователь прикасается к экрану? Плененный портал на Android-устройстве Средство sdk-платформы (23.1) слишком устарело, чтобы проверять API, скомпилированные с API 24; пожалуйста обновите Анализ проекта Android с Lint и SonarQube

MapView (android maps api v2) внутри фрагмента макета не показывает

Я использую viewpager для прокрутки между двумя вкладками панели действий (используется мастер затмения для такого вида навигации). Я использую android maps v2 api.

Я хочу иметь mapview, button и textview внутри одной из моих вкладок (я думаю, что mapfragment невозможен).

Я раздуваю макет для моего фрагмента из xml следующим образом:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.first_tab_fragment, container, false); } } 

Мой first_tab_fragment.xml:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <com.google.android.gms.maps.MapView android:id="@+id/mapview" android:layout_width="100dip" android:layout_height="100dip" android:layout_alignParentTop="true" android:layout_alignRight="@+id/textView1" android:layout_marginRight="15dp" > </com.google.android.gms.maps.MapView> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/textView1" android:layout_centerHorizontal="true" android:text="Button" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignRight="@+id/button1" android:layout_marginBottom="133dp" android:text="TextView" /> 

MapView не отображается, просто текстовое окно и кнопка. У меня также нет ошибок. Нужно ли мне писать код для инициализации mapview?

Solutions Collecting From Web of "MapView (android maps api v2) внутри фрагмента макета не показывает"

Я решил это, добавив этот код в onCreateView:

  // Gets the MapView from the XML layout and creates it mapView = (MapView) v.findViewById(R.id.mapview); mapView.onCreate(savedInstanceState); mapView.onResume(); //without this, map showed but was empty // Gets to GoogleMap from the MapView and does initialization stuff map = mapView.getMap(); map.getUiSettings().setMyLocationButtonEnabled(false); map.setMyLocationEnabled(true); // Needs to call MapsInitializer before doing any CameraUpdateFactory calls try { MapsInitializer.initialize(this.getActivity()); } catch (GooglePlayServicesNotAvailableException e) { e.printStackTrace(); } // Updates the location and zoom of the MapView CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(44.14, 14.2), 10); map.animateCamera(cameraUpdate);