问题标签 [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 回答
1268 浏览

android - Android导航 - 隐藏加载/启动屏幕的操作栏?

我想知道是否有一个很好的模式/方法来隐藏启动/加载屏幕的操作栏?我知道这种模式不是很好,但我们正在改造一个使用这种模式的现有应用程序。无论如何,对于对话框或全屏片段等您可能不一定希望显示操作栏的事情,这似乎是一件常见的事情。

我知道它可以用类似的东西相当简单地完成

但我只是好奇是否有更好的方法来使用 NavOptions 或类似的东西来控制操作栏。

0 投票
1 回答
32 浏览

android - 登录底部导航

我正在开发的应用程序将从登录开始,这将是两个不同的屏幕。成功登录后,用户将被重定向到具有底部导航的屏幕。

解决这个问题的“正确”方式是什么?我应该有两个单独的活动吗?还是使用条件导航的一项活动?如果是后者,我将如何设置 NavGraph 和/或其他代码,以便在登录过程中不显示底部导航?

编辑:我不是在寻找代码(除了 NavGraph 的样子)。

0 投票
1 回答
479 浏览

android - 是否可以在“Fragment”中膨胀包含“FragmentContainerView”的视图?

我正在尝试对包含FragmentContainerView在被放入布局中的片段内部的视图进行膨胀。

  • 根视图
    • 分段
      • 自定义视图
        • 片段容器视图

像这样:

whereFrag创建一个像这样膨胀 xml 的视图:

但是当我执行代码时,我的应用程序崩溃了:

原因:java.lang.IllegalStateException:FragmentManager 已经在执行事务


使用时如何避免此错误FragmentContainerView(注意:如果我使用<fragment>而不是<androidx.fragment.app.FragmentContainerView>,一切正常)

0 投票
1 回答
293 浏览

android-architecture-navigation - Androidx Naviagtion - 将自定义对象传递给目标片段

我需要将自定义对象从一个片段传递到另一个片段。我使用 androidx 导航在片段之间进行导航。我不得不deepLink为我的用例使用导航。

带有目标片段的导航图有,

从源片段开始,导航就像

但是一旦执行并出现以下错误,这就会失败

如果 incase 将自定义对象作为参数替换为字符串或整数,则导航可以正常工作。也可以使用在目标片段中提取传递的数据navArgs()

应该怎么做才能跨片段传递自定义对象?

0 投票
1 回答
1256 浏览

android - 点击通知以使用导航组件打开应用程序目的地,目的地不正确

我正在尝试通过点击通知在导航图中打开特定目的地。我创建了待定意图如下 -

问题:

当我点击通知时,我希望导航到我的“occasionViewer”片段,这是相同的片段,设置为destination R.id.occasionViewer,但我正在导航到导航图的开始目标片段,即“dashboardFragment”。

我尝试将目的地更改为同一图中的其他目的地之一R.id.addBirthdayFragment,如下所示 -

然后它按预期工作,这意味着在通知点击时我正在导航到 addBirthdayFragment。

你能否调查一下,让我知道我在这里做错了什么,任何建议或帮助都会让我开心。

这是 nav_graph (R.navigation.dashboard_navigation)

感谢您提前付出的努力和时间。

编辑 1

观察者如下

Method setupValues(occasion),我使用 Occasion 更新不同的值。

我在 onActivityCreated() 中使用观察者。

编辑 2

场合查看器

编辑 3(一些观察)

我的 DashboardFragment 有一个回收视图,在项目单击时导航到 OccasionViewer,但是当点击通知时,它确实将我带到 DashboardFragment,然后我单击回收视图项目,它会出现此错误:

添加 PSR

在这里找到问题的 PSR ..

https://drive.google.com/file/d/1-3yuQU-4YPprZHk5cUGoq20Ck82y3omT/view?usp=sharing

编辑 4(由 AdrianK 解决)

我打电话startPostponedEnterTransition();如下

通过以下更改解决了问题 -

再次感谢AdrianK花时间研究我的代码。干杯.. !!

0 投票
1 回答
128 浏览

android - 如何在另一个 Fragment 中使“NavHostFragment”响应“onBackPressed”?

我有Activity一个NavHostFragment嵌套在 a 中的Fragment

  • View的根Activity
    • Fragment
      • NavHostFragment

当我在 NavGraph 中导航时,正在创建一个返回堆栈NavHostFragment但是,只要我单击设备的后退按钮,而不是转到前Fragment一个后退堆栈,应用程序就会关闭(好像没有后退堆栈一样)。

我错过了什么吗?NavHostFragment和之间是否有任何耦合Fragment需要做?

0 投票
0 回答
151 浏览

android - Android 退出子导航图

我正在使用一个nav_graph,我有一个场景,比如我有fragment1,然后转到另一个fragment,它是一个子导航图,它有几个fragment(fragment3和fragment4),起始目的地是fragment3,从fragment3我要去fragment4 fragment4 有“完成”按钮。

这是场景:

  1. 我从fragment1和fragment4调用这个子导航图,我想重定向到它是父级,即fragment1
  2. 我从fragment2和fragment4调用这个子导航图,我想重定向到它是父级,即fragment2

这就是我在 fragment4 中处理完成按钮单击事件的方式:

但它没有重定向到父节点,而是重定向到子图统计目标,即片段3

这是我的 nav_graph 的样子:

这里有两个片段:

这是我的子导航图:

我错过了什么?我应该如何实现这一目标?

0 投票
1 回答
874 浏览

android - 默认情况下如何在不加载片段的情况下使用导航图?

我需要使用导航组件并且已经设置好了。导航图需要startDestination在创建时默认加载该片段。但是,我有一个片段,我只想在现有屏幕中触发事件后显示。在我准备好导航到它之前,我怎么能将片段容器留空?

0 投票
0 回答
55 浏览

android - NavigationUI.navigateUp 什么都不做

我有一个活动,其中有一个片段,其中我引用了一个导航图组件:

活动 XML:

导航图:

活动代码:

在打开的第一个片段 ( CountryPickerFragment) 中,我有从 aMutableLiveData内部观察值的代码ViewModel。当观察到该值时,它会打开第二个片段,使用导航库进行导航。的相关代码CountryPickerFragment如下:

这也是第二个片段:

虽然这段代码确实打开了同一活动中的第二个片段并显示了Country Value内部 Logcat,但它还在操作栏上带来了一个后退按钮。当我尝试按下该返回按钮时,它不会返回到上一个片段,而是Country Value在 Logcat 中放置另一个片段。按下手机导航栏上的后退按钮也是如此。

如何CountryPickerFragment从新生成的片段 ( ) 回到前一个片段 ( PlatformPickerFragment)?

PS。如果有人想看代码,你可以去这里

0 投票
1 回答
950 浏览

android - 当我将相同的片段添加到第二个导航图时,不识别动作类

我需要将相同的片段添加到不同的导航图中。这是第一张图的一段代码(mobile_navigation

第二个导航图中的第二个代码片段 ( navigation_initial )

当我尝试 MakeProject 时,构建输出显示错误:

位置:类 FragmentContactanosClienteDirections

但是当我评论第二段代码(navigation_initial)时,问题就消失了。问题是我需要第二段代码,因为我需要调用片段并与它共享捆绑包、其他信息并显示不同的东西......如何实现这一点?

我还分享了图表的设计:

移动导航

mobile_navigation.xml(设计)

导航_初始

navigation_initial.xml(设计)