Android 片段中的反向导航

Android 片段中的反向导航,android,android-fragments,navigation,Android,Android Fragments,Navigation,我对此做了一些研究,并遇到了一些试图为这个问题提供解决方案的实现。其中一个是似乎对大多数人有效的 我还尝试了以下方法: getView().setFocusableInTouchMode(true); getView().requestFocus(); getView().setOnKeyListener(new View.OnKeyListener() { @Override public bool

我对此做了一些研究,并遇到了一些试图为这个问题提供解决方案的实现。其中一个是似乎对大多数人有效的

我还尝试了以下方法:

        getView().setFocusableInTouchMode(true);
        getView().requestFocus();
        getView().setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) {
                    getActivity().getSupportFragmentManager().popBackStack();
                    return true;
                }
                return false;
            }
        });
关于onResume方法,但是当我尝试使用这些方法时,会出现一些问题

在我的例子中,我有一个主片段,用户可以从中导航到其他8个片段。还有一个导航抽屉,上面有4个项目

如果用户导航到任何其他片段,并且在事务期间使用
addToBackStack(null)
方法时,某些页面会变慢。此外,当单击“后退”按钮时,用户必须在添加到后退的所有其他片段之间导航,即使它们出现多次


我试图实现的是这样一种情况,即更改片段不会影响前台片段的性能,并且在返回时,只要主片段出现在前台,单击“上一步”应该关闭应用程序,而不必检查backbackback中的每个片段。

addToBackStack(null)
&
。executePendingTransactions()
我仍然得到相同的结果。