私は自分のアプリケーションにフラグメントを実装しました。ここで私のコードfragment_containerの断片をswichingします。フラグメントのインスタンスをバックスタックに1つだけ追加します
private void switchFragment(Fragment fragment, boolean isAddToBackStack, String tag)
{
android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.container, fragment, tag);
if (isAddToBackStack)
ft.addToBackStack(tag);
setCurrentTopFragment(Integer.parseInt(tag));
ft.commit();
}
私は4つのフラグメントA、B、CおよびDを持っています。このフラグメントを切り替えるには、上記の方法を使用しています。私はバックスラックでA、C、Bを持っています。再び私がfragmnet Aに切り替えると、私のバックスタックはA、C、B、Aのようになります。私が実際に欲しいのは、私が再びAに夢中になれば、このC、B、Aのようなバックスタックのシーケンスが欲しい。手段古いインスタンスをバックスタックから削除し、新しいインスタンスを追加します。
Fragment fragment = getSupportFragmentManager().getFragment(new Bundle(), TAG_KEY)
のか、いくつかの方法getBackStackEntryCount()
、getBackStackEntryAt
があります
trans.remove(フラグメント):)完了新しいフラグメントを追加することができます –