フラグメントの A、B、C、D があるとします。フラグメント間の通常の動きは A -> B -> C -> D です。ここで、A -> D からジャンプしたいが、D から onBackPressed() したいとします。それぞれ C に戻り、次に B に戻ることができます。これを行う方法はありますか?私が試みていたコードはこのようなものでしたが、実際には機能していません。
public void showNestedFragment(LinkedList<Fragment> fragments, boolean allowBack)
{
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
if (allowBack == false) // pop all thats in the backstack
getSupportFragmentManager()
.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
for(Fragment fragment : fragments){
fragmentTransaction.add(R.id.fragment, fragment);
if (allowBack)
{
fragmentTransaction.addToBackStack(null);
}
try
{
fragmentTransaction.commit();
}
catch (IllegalStateException e)
{
e.printStackTrace();
}
}
}