2017-08-22 9 views
1

MapFragmentを置き換えたいが、2つのフラグメントが一緒に隠れることはない。MapFragmentを置き換えたいが隠していない

私が欲しいのは、交換することです。その理由は、それが android:name="com.google.android.gms.maps.MapFragment"

ハードコード断片を交換することができない、タグ属性として定義されたということです は、すべてが一緒に私には見えるので、そしてmapFragmentもフラグメント2どちらも

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

レイアウトで宣言された 'Fragment'sは、動的に削除/置換することはできません。 'MapFragment'を起動時に動的に読み込みます。また、 'Fragment'sをサポートしている場合、' MapFragment'は 'SupportMapFragment'でなければなりません。 –

答えて

0

理解されています。 属性をから削除し、java(動的)からロードして置き換えます。

FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); 
fragmentTransaction.replace(R.id.contenido,fragment); 
fragmentTransaction.addToBackStack(ActivityHome.class.getName()); 
fragmentTransaction.commit(); 
+0

マップをプログラムでアップロードするにはどうすればよいですか? –

+0

ありがとう、本当にそれを解決することができます。彼はそこで孤立していた。 私の英語が間違っている、それは私の母国語ではない –

+0

私は別の質問をするべきだと思います。 – Skillson

関連する問題