Android 如何替换片段存储第一个历史记录并删除其他事务?

Android 如何替换片段存储第一个历史记录并删除其他事务?,android,android-fragments,Android,Android Fragments,我有三个片段a、b、c 我用主活动替换a FragmentManager fm = getFragmentManager(); FragmentTransaction transaction = fm.beginTransaction(); transaction.add(R.id.fram_container, new Fragment1(), "tag1"); transaction.commit(); a到b b到c 在c 我希望按下c back以使用a重定向,而不在c中执行任何操作 我

我有三个片段a、b、c
我用主活动替换a

FragmentManager fm = getFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
transaction.add(R.id.fram_container, new Fragment1(), "tag1");
transaction.commit();
a到b

b到c

在c

我希望按下c back以使用a重定向,而不在c中执行任何操作
我要在后面按跳过b


我能做什么以及如何做?

实现下面的代码反压

public void backToFragment(final Fragment fragment) {

    // go back to something that was added to the backstack
    getSupportFragmentManager().popBackStackImmediate(
            fragment.getClass().getName(), 0);
    // use 0 or the below constant as flag parameter
    // FragmentManager.POP_BACK_STACK_INCLUSIVE);

}

所以你想跳过B,然后不要把它添加到backbackback中。事务.replace(R.id.fram_容器,新的Fragment3());返回:FragmentManager FragmentManager=getSupportFragmentManager();fragmentManager.popBackStack(BACK_STACK_ROOT_标记,fragmentManager.POP_BACK_STACK_包括在内);在这里…第一个是打开的,但第三个不是关闭的…它与aye代码主活动me重叠,如HNA he ya kisi片段me?调用主活动
FragmentManager fm = getFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
transaction.replace(R.id.fram_container, new Fragment3(), "tag3");
transaction.commit();
public void backToFragment(final Fragment fragment) {

    // go back to something that was added to the backstack
    getSupportFragmentManager().popBackStackImmediate(
            fragment.getClass().getName(), 0);
    // use 0 or the below constant as flag parameter
    // FragmentManager.POP_BACK_STACK_INCLUSIVE);

}