2

单击后退按钮时,我想转到上一个片段目标。我使用 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 项目中使用相同的数据及其确切的滚动位置)任何帮助将不胜感激。

4

0 回答 0