问题标签 [up-navigation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
975 浏览

android - 处理Android导航组件中的向上按钮

我在使用 Android 导航组件设置的主要活动中有两个片段 A 和 B。Fragment A 包含一个 recyclerView,在其中单击项目将导航到 Fragment B。

问题是当我单击片段 B 中的向上按钮时,它不会导航回片段 A,而是会重新加载片段 B。它只会在第二次单击时返回。与后退按钮相同的行为。

一旦我设法导航回片段 A,当我单击一个项目转到片段 B 时,我会抛出此异常:

java.lang.IllegalArgumentException: navigation destination com.example.sampleapp:id/action_accountSelectionFragment_to_cameraSelectionFragment is unknown to this NavController

这是最新版本的已知错误吗?我在 2.2.0-alpha01

这是我实现导航的方式:

MainActivity.kt

FragmentA :当我点击我的 recyclerView 中的一个项目时调用的回调方法

我试过玩'popTo',但问题仍然存在。

0 投票
0 回答
47 浏览

android - 使用导航组件递归片段向上导航行为

设置

我目前有这个简单的应用程序设置,其中包含电影列表page_moviesfragmentMovieDetails. 片段都包含自己的工具栏,因为它们不同。

fragmentMovieDetails有一个相关电影的列表,用户可以单击并转到该电影的详细信息页面。因此导航图中的递归箭头。

应用程序设置

片段电影详情

问题

我正在尝试通过单击中的向上箭头来实现正确的向上导航行为fragmentMovieDetails。箭头应始终直接导航回,page_movies而后退按钮应遍历 backstack。目前箭头总是返回而不是弹出堆栈并返回列表。

我试过的

我试图在 中实现我自己onOptionsItemSelectedfragmentMovieDetails,但从未调用过该方法

我还尝试将app:popUpToInclusive, app:popUpTo&添加app:launchSingleTop到其中的操作中main_nav_graph.xml,如下所示:

我想知道如何使用 Android 导航组件正确实现所需的向上导航行为。任何帮助表示赞赏!