地图片段显示其上方的另一个错误的地图片段(一个来自后面的堆栈)

时间:2015-04-22 15:30:48

标签: android google-maps android-fragments google-maps-android-api-2

我有一个活动和4个片段如下。

片段A打开片段B(其中包含地图片段以及其他组件)。

片段B打开片段C

片段C打开片段D(其中包含地图片段以及其他组件)

奇怪的是,我在片段D中看到了地图,而在其上方的片段B中看到了另一张地图。

<!-- Fragment B -->
 <LinearLayout .... 
   <fragment
            android:id="@+id/put_ad_google_map1"
            android:name="com.google.android.gms.maps.SupportMapFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_above="@+id/continue_button"
            android:layout_alignParentTop="true"
             />

<!-- Fragment D -->
<LinearLayout .... 

    <fragment
       android:id="@+id/put_ad_google_map2"
    android:name="com.google.android.gms.maps.SupportMapFragment"
                        android:layout_width="match_parent"
                        android:layout_height="250dp"
                        android:layout_above="@+id/continue_button"
                        android:layout_alignParentTop="true"
                        />

有任何疑问可能是什么问题?

1 个答案:

答案 0 :(得分:0)

我认为您可以在启动片段C时尝试remove片段B中的map fragment

示例代码:

public void onDestroyView() 
{
        super.onDestroyView(); 
        Fragment fragment = (getFragmentManager().findFragmentById(R.id.map));  
        FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
        ft.remove(fragment);
        ft.commit();
}