【发布时间】:2017-01-10 09:27:27
【问题描述】:
我总共有 7 个片段
Frag1 -> Frag2 -> Frag3 -> Frag4 -> Frag5 -> Frag6 -> Frag7
用户从Frag1 -> Frag7导航
因此,当用户在 Frag7 上并按下返回按钮时,Frag1 应该是可见的。
这是片段交易代码
public void displayView(Fragment fragment, Bundle data) {
if (fragment != null) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
if (data != null) {
if (fragment.getArguments() != null) {
fragment.getArguments().putAll(data);
} else {
fragment.setArguments(data);
}
}
if (!fragment.isAdded()) {
ft.replace(R.id.frame, fragment);
ft.addToBackStack(null);
}
ft.commit();
} else {
Logger.e("MainActivity", "Error in creating fragment");
}
}
我打过电话
getActivity().getSupportFragmentManager().popBackStack(); 5 次,然后才转到 Frag7,但我总是把它当作 backstack
Frag7 -> Frag6 -> Frag1
我无法从用户导航的位置删除当前片段 (Frag6)。
【问题讨论】:
-
check this out 如果您还没有。
标签: android android-fragments fragment fragment-backstack