Java 为什么我的后退按钮不起作用?

Java 为什么我的后退按钮不起作用?,java,android,Java,Android,我有一个名为MainActivity的AppCompatActivity活动,下面的代码放在onCreate方法上,用于显示/隐藏后退和菜单按钮 getSupportFragmentManager().addOnBackStackChangedListener( new FragmentManager.OnBackStackChangedListener() { @Override public void onBackStackChanged() { t

我有一个名为
MainActivity
AppCompatActivity
活动,下面的代码放在
onCreate
方法上,用于显示/隐藏后退和菜单按钮

getSupportFragmentManager().addOnBackStackChangedListener(
    new FragmentManager.OnBackStackChangedListener() {

    @Override
    public void onBackStackChanged() {
        toggle.setDrawerIndicatorEnabled(
             getSupportFragmentManager().getBackStackEntryCount() == 0);

        getSupportActionBar().setDisplayHomeAsUpEnabled(
             getSupportFragmentManager().getBackStackEntryCount() > 0);
    }
});
这是我唯一的活动,我对不同的视图使用片段。“后退”按钮在被批准时会完美显示,但在我单击它时不会显示任何内容

我需要在片段上加一些代码吗?我检查了许多其他类似的问题,但我无法发现遗漏了什么

编辑

许多解决方案要求覆盖片段或活动上的选项ItemSelected,但当我单击工具栏上的后退按钮时,不会调用此方法

编辑2

如果我评论行

toggle.setDrawerIndicatorEnabled(getSupportFragmentManager().getBackStackEntryCount() == 0);

然后单击“上一步”按钮打开导航菜单。

您必须手动处理“主页”按钮,如下所示:

然后从backstack加载上一个片段:

在MainActivity中,您是否在Backpressed()上编写代码可能存在重复。完整解决方案:恐怕这不起作用<当我单击工具栏上的“后退”图标时,code>onBackPressed未被调用。我恐怕无法在活动中调用选项ItemSelected