我想替换MapFragment,但它不会隐藏两个片段。
我想要的是让它取代,工作。 因为一切都在我看来,并且mapFragment和片段二都不被理解
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.contenido,fragment);
fragmentTransaction.addToBackStack(ActivityHome.class.getName());
fragmentTransaction.commit();
XML
<RelativeLayout android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.company.myapplication.Activity.ActivityHomeMap"
tools:showIn="@layout/app_bar_activity_home_map"
android:id="@+id/contenido">
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapHome"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
</fragment>
</RelativeLayout>
答案 0 :(得分:0)
原因是它被定义为标签属性
android:name="com.google.android.gms.maps.MapFragment"
硬编码片段无法替换。只需删除属性并从java(动态)加载它然后进行替换。
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.contenido,fragment);
fragmentTransaction.addToBackStack(ActivityHome.class.getName());
fragmentTransaction.commit();