问题标签 [android-navigation-graph]

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 投票
4 回答
2199 浏览

android - 使用 SafeArgs 将参数从片段传递到活动

使用导航图,当我从片段导航到活动并使用安全参数传递参数时,在活动中,我无法获得参数。我怎样才能得到从片段传递的参数???

在片段中,我可以按getArgument()函数获取参数,但不能在活动中获取。

在片段中,我通过以下方式切换到另一个活动:

并在 B 活动中通过以下方式在 onCreate 中获取参数:

但我的应用程序立即崩溃。

0 投票
1 回答
41 浏览

android - 导航离开时的 StartDestination NullpointerException onSaveInstance

我有一个抽屉布局,它在两个片段之间导航(就像它在创建一个带有抽屉布局的新项目时设置的那样:所以有一个导航图和 AppBarConfiguration 的一般设置。我刚刚删除了一大堆东西,所以我最终只会有两个片段)。

问题:当我导航到第二个片段并更改设备的方向两次(因此翻转手机横向,然后返回纵向)然后我在起始目的地的 onSavedInstanceState() 方法中得到一个 nullpointerException。我想知道为什么会这样?有没有办法弹出那个片段或其他东西,因为它甚至不可见?我有点期待导航 UI 能够正确处理这个问题,因为我认为这是它的目的 - 但是,现在我觉得我可能错过了一些真正重要的东西

导航图:

然后,家庭活动:

问题代码,在起始目标片段中:

mSearchResultList 在第二次方向更改时为空。

0 投票
0 回答
48 浏览

android - 如何停止重复为导航图中的操作设置相同的属性?

我已经在导航图中设置了六个片段。每个片段如下所示:

对于我的每个片段,我为动作设置了popEnterAnimpopExitAnim和属性。有什么办法可以停止重复相同的属性集?类似于“风格”的东西。你写一次,然后应用它。谢谢。enterAnimexitAnim

0 投票
0 回答
155 浏览

android - 使用 Android 导航组件从子片段(非全屏)全屏打开片段

这是我的设计要求我的第一个屏幕是一个活动,其中包含一个片段(非全屏)单击片段中的过滤器图标(非全屏),我想导航到过滤器片段(全屏)而不与活动通信使用 Android 导航组件

图片

0 投票
0 回答
52 浏览

android-architecture-navigation - 通过 Fragment BackPressed 到上一个 Fragment-Navigation 组件

我想问:从childFragment到上一个Fragment,在使用Navigation Component、androidx、Kotlin时允许BackPressed()。

我试图编码的是导航片段和底部导航。在一个片段中,我通过 customViewPager 禁用滑动来使用子片段。回到 childFragment 时,我希望它出现在前一个 Fragment 上,而不是在父/主机上。

可能吗?BackPressed() 方法是否适用于在片段中使用?

0 投票
1 回答
1036 浏览

android - 带有导航图的导航抽屉不起作用

我尝试通过使用导航抽屉活动创建一个新项目。使用视图模型自动生成片段。单击导航菜单时,它不会导航到相应的片段。

构建.gradle

MainActivity.class

我用导航菜单验证了导航图中的 ID,它们是相同的。我是导航图的新手。任何帮助将非常感激。

0 投票
4 回答
10105 浏览

android - 使用导航组件处理工具栏后退按钮

我正在遵循单一活动方法。我有导航工具栏,每当我转到其他屏幕(片段)而不是汉堡包图标时,我都会有后退箭头。

我想要实现的是,使用按下工具栏后退箭头的动作弹出我当前的片段。

我试过了

但是没有接到电话,我通过在调试模式下运行应用程序进行了检查。

0 投票
0 回答
892 浏览

android - ViewModel 在后按时被清除

我正在使用导航图在片段之间导航,我注意到只有当我按下后退按钮时我的 viewModel 才被清除(onCleared),但当我使用以下代码导航到另一个片段时却没有:

在日志中,我看到片段 onDestroyView() 被调用,但 viewModel 的 onCleared() 未被调用。

我错过了什么?

0 投票
1 回答
5219 浏览

android - 在另一个片段中定义 NavHostFragment

我有一个片段,我在其中定义了一个 NavHostFragment,如下所示:

当试图在片段中调用 findNavController 方法时,它抛出了一个非法状态异常,并说我的视图组没有 NavController。

所以我的问题是:我可以在另一个片段中定义一个 NavHostFragment 吗?还是只适合活动? 我进行了很多搜索以找到我可以在另一个片段中定义一个导航主机片段,但我没有找到任何答案。

0 投票
0 回答
27 浏览

android - 导航图 - 如何使用导航图和导航抽屉中的自定义片段来管理导航抽屉

我面临一个问题,我必须在导航抽屉中使用片段(管理自定义设计)。如何管理此导航抽屉中的导航图?