2017-05-08 12 views
0

アクティビティクラスから追加されたXMLレイアウトの名前を設定することはできますか?アクティビティに含まれているフラグメント間を遷移させ、 。android:name of <fragment>をプログラムで設定します

<fragment 
     android:name="com.example.harry.comparateur_de_prix.Accueil.AccueilFragment" //To change 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/fragment1"> 

    </fragment> 

答えて

0

代わりにFrameLayoutを使用します。 ViewGroupがそのID属性によって

0

まず、あなたがこのようでframeLayoutが含まれるように、あなたの活動のXMLレイアウトを変更する必要がありますことを置き換えるために、次に

use FragmentTransaction

<!--Other XML layout elements, view-groups, views etc...; other stuff--> 

    <FrameLayout 
     android:id="@+id/id_1" 
     android:layout_width="@dimen/fl_width" 
     android:layout_height="@dimen/fl_height"> 
    </FrameLayout> 

私たちが今何をしたいかれます。あなたのFragmentのレイアウトファイルのレイアウトを追加したActivityのXMLレイアウトのFrameLayoutを置き換えることができます。あなたの活動ファイルのすぐ

  1. はfragmentManagersのbeginTransaction()メソッドを介しfragmentTransactionインスタンスを取得FragmentMangerオブジェクトをインスタンス化します。

/*1)*/ FragmentManager fragmentManager = getSupportFragmentManager(); 
    /*2)*/ FragmentTransaction ft = fragmentManager.beginTransaction(); 

そして、これらの変更

ft.replace(R.id.id_1, new YourFragment()); 
ft.commit(); 

引数YourFragmentは()あなたのフラグメント のいずれかのインスタンスを挿入するために、あなたが必要になります作る、これが置き換えられますFrameLayoutの現在のレイアウトとYourFragments()のレイアウト。最終的にfragmentTransactionをコミットします。


あなたはシンプルでframeLayoutが表示され、新しいフラグメントのトランザクションを開始し、上記のように、新たな断片とフレームレイアウトを置き換えるフラグメントを交換したい場合。

関連する問題