当前位置: 首页 > 知识库问答 >
问题:

导航组件的popUpTo不移除按钮

吉栋
2023-03-14
<action
  android:id="@+id/navigate_to_main_screen"
  app:destination="@id/fragment_main_screen"
  app:popUpTo="@+id/navigation_main"
  app:popUpToInclusive="true"/>
AppBarConfiguration config =
    new AppBarConfiguration.Builder(navController.getGraph()).build();
NavigationUI.setupActionBarWithNavController(this, navController, config);
@Override
public boolean onSupportNavigateUp() {
  return navController.navigateUp() || super.onSupportNavigateUp();
}

根据文件。

我正在使用的库版本:

implementation 'android.arch.navigation:navigation-fragment:1.0.0-alpha09'
implementation 'android.arch.navigation:navigation-ui:1.0.0-alpha09'

共有1个答案

范浩宕
2023-03-14

如果希望自定义哪些目标被视为顶级目标,则可以将一组目标ID传递给构造函数,如下所示。

若要解决您的问题,请替换

AppBarConfiguration config =
    new AppBarConfiguration.Builder(navController.getGraph()).build();

AppBarConfiguration config =
        new AppBarConfiguration.Builder(R.id.navigation_main, R.id.fragment_main_screen).build();
 类似资料:
  • 我是Android Jetpack导航架构的新手。我正在一个新应用程序上试用它。有一个活动和一些片段,其中两个是登录屏幕和电子邮件登录屏幕。我在我的导航XML中定义了这些片段。应用程序的流程如下: 登录屏幕→ <代码>电子邮件登录屏幕 我想要的是,在导航到电子邮件登录屏幕后,当我向后按时,应用程序退出。这意味着登录屏幕的后堆栈被删除了。我知道登录屏幕不应该这样工作,但我仍然只是在解决问题。 我遵循

  • 使用导航体系结构组件,我们还可以从以下代码中进行动态导航: 然后,当我们需要从一个新的根目的地导航到一个新的根目的地(向后导航将关闭应用程序)时,我们无法知道当前的根目的地是什么,所以我们不知道将popUpTo目的地设置为什么。 如果我们将其设置为不在backstack中的目的地,那么我们将获得警告日志(从中的): “忽略popBackStack to destination*:id/splash

  • 我正在使用android中的导航组件,最初我在其中设置了6个片段。问题是我添加了一个新片段(ProfileFragment)。 当我从开始目标导航到此新片段时,按下本机后退按钮不会弹出当前片段。相反,它只是停留在我所在的片段上——后退按钮什么都不做。 这是我的navigation.xml: 在上图中,突出显示的箭头(左侧)是我遇到问题的导航操作。 在我的片段代码中,我导航如下: 其他导航操作正在按

  • 我已经从连接到NavController的导航抽屉中导航到了DialogFragment。但当我导航到另一个目标时,我已经将弹出窗口设置为包含对话框片段,但它并没有清除堆栈。如何清除堆栈? AM从LogoutDialog调用此方法 我只使用片段和一个活动。 这是我导航图的一部分

  • 导航组件说明 组件 说明 最低版本 navigator 页面链接 1.0.0 functional-page-navigator 用于跳转插件功能页 不支持 navigator 属性 类型 默认值 必填 说明 最低版本 url string 否 当前小程序内的跳转链接 open-type navigate 否 跳转方式 hover-class string navigator-hover 否 指定

  • 我正在一个新的Android应用程序上使用导航组件,但我不知道怎么做 首先,我有我的主活动,我有main_navigation_graph 主要活动 NavHostFragment main_navigation_graph里面有3个碎片 这里一切都很好。问题是当我到达最后一个片段时,因为在这个片段上,我想根据BottomNavigationView输入(暂时)显示一些子片段(在新的NavHost