单击后退按钮时,我想转到上一个片段目标。我使用 viewpager 为底部导航页面创建了不同的片段。这是我目前用于 navHost 活动的代码
@Override
public void onBackPressed() {
BaseFragment fragment = fragments.get(main_pager.getCurrentItem());
boolean hadNestedFragments = fragment.onBackPressed();
// if no fragments were popped
if (!hadNestedFragments) {
if (backStack.size() > 1) {
// remove current position from stack
backStack.pop();
// set the next item in stack as current
main_pager.setCurrentItem(backStack.peek());
} else{
// super.onBackPressed();
}
}
}
这是 BaseFragment 中的代码
public boolean onBackPressed() {
return findNavController()
.navigateUp();
}
当我从一个片段返回到前一个片段时,我不想再次重新加载它,我希望它保持原来的状态。(例如:在 recyclerview 项目中使用相同的数据及其确切的滚动位置)任何帮助将不胜感激。