有没有办法阻止底部导航在应用程序存在之前返回到每个访问过的选项卡?

Posted

技术标签:

【中文标题】有没有办法阻止底部导航在应用程序存在之前返回到每个访问过的选项卡?【英文标题】:Is there a way to prevent the bottom navigation from getting back to every visited tab before existing the app? 【发布时间】:2019-12-09 11:25:41 【问题描述】:

我有一个 4 标签底部导航,用于设置导航组件。 问题是,在浏览底部导航的选项卡一段时间后,按下后​​退按钮会带我浏览我访问过的每个片段/选项卡,然后返回第一个选项卡并退出应用程序。

我可以做些什么来修改这种行为,我认为通常第一个后退按钮应该让用户回到第一个选项卡,然后第二个关闭应用程序。 我怎样才能实现这种行为?

【问题讨论】:

【参考方案1】:

在您的 MainActivity 类中设置一个名为 backCount 的全局变量,并在您四处导航时,继续设置 backCount = 0。然后在所有其他活动中,覆盖 onBackPressed() 方法:

@Override
public void onBackPressed()

     backCount += 1;
     if (backCount >= 2) 
        finish();
        System.exit(0);
     

     super.onBackPressed();  // optional depending on your needs

【讨论】:

以上是关于有没有办法阻止底部导航在应用程序存在之前返回到每个访问过的选项卡?的主要内容,如果未能解决你的问题,请参考以下文章

如何使 UINavigationController 的导航栏显示在底部?

当底部导航栏存在时,appbar 与通知栏重叠

从应用内打开时,阻止 Firebase 动态链接重定向到浏览器

Android应用程序中的底部导航栏

转到不在底部导航视图内的片段并返回后,底部导航视图不起作用

从底部栏处理返回导航反应原生