2017-06-12 8 views
0

ナビゲーションドロワーを作成しています。フラグメントAndroid

私はそれを任意のフラグメントを交換するとき、それは置き換えを行いますが、フレームのレイアウトはバックで実行します。..

私は断片上に空の画面を押したときに、メインレイアウトの内容が示されています。では、メインのレイアウトを一部のフラグメントで置き換えると、そのレイアウトを完全に削除するにはどうすればいいですか?あなたのフラグメントxmlファイル内

android.support.v4.app.FragmentManager fm=getSupportFragmentManager(); 
if (id == R.id.nav_categories) 
{ 
    Categories cat=new Categories(); 
    FragmentTransaction transaction=fm.beginTransaction().replace(R.id.relative_layout,cat); 
    transaction.addToBackStack(null); 
    transaction.commit(); 
    /* fm.beginTransaction().replace(R.id.relative_layout,cat).commit(); 
      Toast.makeText(this,"Categories",Toast.LENGTH_LONG).show();*/ 
} 
else if (id == R.id.nav_rating) 
    { 
     Fragment_Rating rat=new Fragment_Rating(); 

     fm.beginTransaction().replace(R.id.relative_layout,rat).commit(); 
     Toast.makeText(this,"Rating",Toast.LENGTH_LONG).show(); 
     FragmentTransaction transaction=fm.beginTransaction().replace(R.id.relative_layout,rat); 
     transaction.addToBackStack(null); 
     transaction.commit(); 
    } 

私はaddtobackstack削除しようとしている...

+3

[Android - ナビゲーションボックスのフラグメントを変更する方法](https://stackoverflow.com/questions/24006181/android-how-to-change-fragments-in-the-navigation-drawer) – Thecave3

+0

の重複している可能性があります親レイアウトの背景を設定する – MathaN

答えて

0

だけ

android:background="#ffffff" 
android:clickable="true" 
0

があなたでframeLayoutに背景を追加し、親ビューに追加

<FrameLayout 
     android:id="@id/fragment_B" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:background="#B4B4B4" 
     > 
0
FrameLayout layout = (FrameLayout) findViewById(R.id.frame_layout); 
android.support.v4.app.FragmentManager fm=getSupportFragmentManager(); 
if (id == R.id.nav_categories) 
{ 
    Categories cat=new Categories(); 
    FragmentTransaction 
    transaction=fm.beginTransaction().replace(R.id.relative_layout,cat); 
    transaction.addToBackStack(null); 
    transaction.commit(); 
    layout.serVisibility(View.GONE) // add this line 
} 
else if (id == R.id.nav_rating) 
    { 
    Fragment_Rating rat=new Fragment_Rating(); 

    fm.beginTransaction().replace(R.id.relative_layout,rat).commit(); 
    Toast.makeText(this,"Rating",Toast.LENGTH_LONG).show(); 
    FragmentTransaction 
    transaction=fm.beginTransaction().replace(R.id.relative_layout,rat); 
    transaction.addToBackStack(null); 
    transaction.commit(); 
    layout.serVisibility(View.GONE); // add this line 
} 
関連する問題