Fragmentをreplaceしても一つ前のFragmentが残る
現在Fragment
を使って画面を切り替えようとしているのですが、transaction.replace
を行うと、layout_Aの画面とlayout_Bの画面が重なった状態で表示されてしまいます。試しにtransaction.remove
をしてtransaction.add
を行っても結果は同じでした。Fragment
の使い方が間違っているのでしょうか?どこを修正すれば画面を切り替えれるようになるでしょうか?すみませんが、宜しくお願いします。
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.fragment_changeMode, new FragmentB());
transaction.addToBackStack(null);
transaction.commit();
layout_A.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/fragment_change"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="taro.ghost.fragment.FragmentA"/>
</RelativeLayout>
layout_B.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageButton
android:id="@+id/btn"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_centerInParent="true"
android:background="@drawable/contact" />
</RelativeLayout>