2016-04-12 8 views
0

私は同じフラグメントを2回開くと、アプリケーションが閉じられることを意味します。私は同じ断片を開いている場合は、2回の平均アプリケーションが閉じられる

if (id == R.id.nav_home) { 

     fragment1.setArguments(arguments); 
     getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment).commit(); 

    } else if (id == R.id.nav_contact_us) { 

     ragment2.setArguments(arguments); 
     getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment2).commit(); 

    } else if (id == R.id.nav_feedback) { 

     fragment3.setArguments(arguments); 
     getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment3).commit(); 
    } 
+0

最初の 'else if'ブロックでは' ragment2'ではなく 'fragment2'でなければなりません。 –

答えて

0

現在のフラグメントHASE同じタグ場合は、あなたのフラグメントおよびテストにタグを追加する必要があります は親切 私のコードがある任意のアイデアを提供しています。

if (id == R.id.nav_home && getFragmentManager().findFragmentByTag("fragment1")==null) { 

    fragment1.setArguments(arguments); 
    getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment1,"fragment1").commit(); 

} 
+0

ありがとうSamir。私はアンサーを持っています –

+0

私のコードif(!(fragment1.isVisible())){} –

+0

あなたの貴重な応答ありがとう –

関連する問題