Cajón de navegación y MapFragment
Me gustaría saber cuál es el método correcto para implementar un MapFragment con un cajón de navegación. Yo ya tenía este trabajo bien, pero he estado leyendo algunos documentos y tal vez puede causar problemas en el futuro.
Por lo tanto, mi clase principal donde se ha implementado el cajón de navegación es muy normal, con el siguiente método selectItem()
:
- Marcador arrastrable de Android MapView
- Cómo recuperar la ubicación del dispositivo actual y mostrarlo en el fragmento de mapa en un fragmento
- Cómo utilizar mapas de google coloca autocompletar api y sugerencias de lista en un listview y no un menú desplegable
- Android - Cómo determinar si las coordenadas se encuentran en la carretera en Google Maps
- ¿Cómo capturar el mapa de panorámica y zoom están realmente terminado?
HomeActivity extends Activity{ //... //Stuff like onCreate(), etc. //... private void selectItem(int position) { if (position == 0) { //Position 0 is the map option in the navigationDrawer Fragment fragment = new MapaFragment(); FragmentManager fragmentManager = getFragmentManager(); fragmentManager.beginTransaction() .replace(R.id.content_frame, fragment).commit(); } mDrawerList.setItemChecked(position, true); setTitle(listaElementosDrawer[position]); mDrawerLayout.closeDrawer(mDrawerList); } }
MapaFragmento, que es el fragmento inflado en la actividad principal, es el siguiente:
public class MapaFragment extends Fragment { public MapaFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_map, container, false); return rootView; } }
Y, fragment_map.xml
que se infla en MapaFragment
es así:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.moictab.decanias.MapActivity$PlaceholderFragment" > <fragment android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.MapFragment" /> </RelativeLayout>
Observe que este es un mapFragment dentro de un RelativeLayout, y ya está funcionando bien. Pero, si quito el RelativeLayout y dejé sólo el mapFragment, se bloquea porque estoy inflando un fragmento dentro de un fragmento. Así pues, hay las preguntas:
- ¿Por qué se bloquea cuando se infla el mapFragment pero no se bloquea al inflar el RelativeLayout con el mapFragment dentro? ¿No es esencialmente lo mismo?
- ¿Cuál es el enfoque correcto para implementar algo así?
- Android Encuentra la latitud Longitud del punto X de la ubicación definida
- Android Google Map error android.view.InflateException: Archivo XML binario línea # 6: error iniciando el fragmento de clase
- ¿Puedo cambiar las capturas de pantalla de la aplicación después de publicadas?
- ¿Cuánto tiempo hace que se registró la última ubicación conocida?
- React-native maps no carga para android (mapa en blanco)
- NPE utilizando Google maps services en mapView.onCreate (...)
- ¿Cómo puedo usar un ajuste de TabHost que contenga un MapView que también muestre una vista de AdMob debajo de él?
- Giro a giro múltiples puntos ruta navegación Google Maps Intent en Android
Tuve un problema muy simmilar con MapFragment. Esta es mi solución:
Extiendo el objeto SupportMapFragment:
public class MyMapFragment extends SupportMapFramgment { }
Y agregarlo programáticamente:
MyMapFragment fragment = new MyMapFragment(); fragmentManager.beginTransaction().replace(R.id.content_frame,fragment).commit();