Android 如何替换片段存储第一个历史记录并删除其他事务?
我有三个片段a、b、cAndroid 如何替换片段存储第一个历史记录并删除其他事务?,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
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);
}