我的应用程序中有四个主要片段和一个次要片段。 让我们说片段A,B,C,D。 在片段A处有一个ListView。如果用户单击列表项,则会显示另一个片段(子A)。 那么......,如果用户点击 A - > B - > C - > d 即可。 后台将是 D - > C-> B-> A 即可。这很简单。 这是我的问题..,当用户点击片段A的列表项时,转换将是 A - > sub A - > B - > C - > d 即可。但我不希望在backstack上使用 sub A 。我想要的结果是 D - > C - > B - > A 即可。我目前正试图跳过 sub A ,但仍无法找到合适的答案。
答案 0 :(得分:2)
通过覆盖或任何特定的后退按钮使用此单击
FragmentManager fm = getActivity().getSupportFragmentManager();
fm.popBackStack();
像这样覆盖后退按钮
// 2.0 and above
@Override
public void onBackPressed() {
moveTaskToBack(true);
}
// Before 2.0
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}