0
私のアプリケーションでは、MainActivityからFragment1に行き、Fragment1からFragment1をFragment2に置き換えます。スタックからFragment1を削除します。私はこれをどうやって?フラグメントをプログラム的にスタックから削除するには?
私のアプリケーションでは、MainActivityからFragment1に行き、Fragment1からFragment1をFragment2に置き換えます。スタックからFragment1を削除します。私はこれをどうやって?フラグメントをプログラム的にスタックから削除するには?
フラグメントを追加したら、そのフラグメントに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();
をコード下の古いフラグメントの使用を削除します。
if(getSupportFragmentManager()。getBackStackEntryCount()> 0){ //ハンドリングフラグメントのバックボタンナビゲーション getSupportFragmentManager()。popBackStack(); } – Nithinlal
[活動グループ内の別の断片とフラグメントを置換する]の可能な複製(http://stackoverflow.com/questions/5658675/replacing-a-fragment-with-another-fragment-inside-activity-group) – rafid059
If Frament1をfragment2に置き換えると、fragment1のバックスタックに変更はありません。 Replace Fragment =新しいフラグメントを追加する+ fragment1が単独で削除されるよりもフラグメントを置換する場合は、古いフラグメント – Nithinlal