2016-11-24 5 views
0

私のアプリケーションでは、MainActivityからFragment1に行き、Fragment1からFragment1をFragment2に置き換えます。スタックからFragment1を削除します。私はこれをどうやって?フラグメントをプログラム的にスタックから削除するには?

+1

if(getSupportFragmentManager()。getBackStackEntryCount()> 0){ //ハンドリングフラグメントのバックボタンナビゲーション getSupportFragmentManager()。popBackStack(); } – Nithinlal

+0

[活動グループ内の別の断片とフラグメントを置換する]の可能な複製(http://stackoverflow.com/questions/5658675/replacing-a-fragment-with-another-fragment-inside-activity-group) – rafid059

+0

If Frament1をfragment2に置き換えると、fragment1のバックスタックに変更はありません。 Replace Fragment =新しいフラグメントを追加する+ fragment1が単独で削除されるよりもフラグメントを置換する場合は、古いフラグメント – Nithinlal

答えて

1

フラグメントを追加したら、そのフラグメントにTAGを追加してください。 これを使用すると、TAGを簡単に削除できます。 例

FragmentManager fm = getSupportFragmentManager(); 
fm.replace(R.id.container,new MyFragment(),"TAG_FRAGMENT1").commit(); 

新しいフラグメントを追加することができ、古いフラグメントを除去した後、

Fragment oldFragment = fm.findFragmentByTag("TAG_FRAGMENT1"); 
fm.beginTransaction().remove(oldFragment).commit(); 

をコード下の古いフラグメントの使用を削除します。

関連する問題