问题标签 [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.
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',但问题仍然存在。
android - 使用导航组件递归片段向上导航行为
设置
我目前有这个简单的应用程序设置,其中包含电影列表page_movies
和fragmentMovieDetails
. 片段都包含自己的工具栏,因为它们不同。
fragmentMovieDetails
有一个相关电影的列表,用户可以单击并转到该电影的详细信息页面。因此导航图中的递归箭头。
片段电影详情:
问题
我正在尝试通过单击中的向上箭头来实现正确的向上导航行为fragmentMovieDetails
。箭头应始终直接导航回,page_movies
而后退按钮应遍历 backstack。目前箭头总是返回而不是弹出堆栈并返回列表。
我试过的
我试图在 中实现我自己onOptionsItemSelected
的fragmentMovieDetails
,但从未调用过该方法
我还尝试将app:popUpToInclusive
, app:popUpTo
&添加app:launchSingleTop
到其中的操作中main_nav_graph.xml
,如下所示:
我想知道如何使用 Android 导航组件正确实现所需的向上导航行为。任何帮助表示赞赏!