问题标签 [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.
android - Android导航 - 隐藏加载/启动屏幕的操作栏?
我想知道是否有一个很好的模式/方法来隐藏启动/加载屏幕的操作栏?我知道这种模式不是很好,但我们正在改造一个使用这种模式的现有应用程序。无论如何,对于对话框或全屏片段等您可能不一定希望显示操作栏的事情,这似乎是一件常见的事情。
我知道它可以用类似的东西相当简单地完成
但我只是好奇是否有更好的方法来使用 NavOptions 或类似的东西来控制操作栏。
android - 登录底部导航
我正在开发的应用程序将从登录开始,这将是两个不同的屏幕。成功登录后,用户将被重定向到具有底部导航的屏幕。
解决这个问题的“正确”方式是什么?我应该有两个单独的活动吗?还是使用条件导航的一项活动?如果是后者,我将如何设置 NavGraph 和/或其他代码,以便在登录过程中不显示底部导航?
编辑:我不是在寻找代码(除了 NavGraph 的样子)。
android - 是否可以在“Fragment”中膨胀包含“FragmentContainerView”的视图?
我正在尝试对包含FragmentContainerView
在被放入布局中的片段内部的视图进行膨胀。
- 根视图
- 分段
- 自定义视图
- 片段容器视图
- 自定义视图
- 分段
像这样:
whereFrag
创建一个像这样膨胀 xml 的视图:
但是当我执行代码时,我的应用程序崩溃了:
原因:java.lang.IllegalStateException:FragmentManager 已经在执行事务
使用时如何避免此错误FragmentContainerView
(注意:如果我使用<fragment>
而不是<androidx.fragment.app.FragmentContainerView>
,一切正常)
android-architecture-navigation - Androidx Naviagtion - 将自定义对象传递给目标片段
我需要将自定义对象从一个片段传递到另一个片段。我使用 androidx 导航在片段之间进行导航。我不得不deepLink
为我的用例使用导航。
带有目标片段的导航图有,
从源片段开始,导航就像
但是一旦执行并出现以下错误,这就会失败
如果 incase 将自定义对象作为参数替换为字符串或整数,则导航可以正常工作。也可以使用在目标片段中提取传递的数据navArgs()
应该怎么做才能跨片段传递自定义对象?
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花时间研究我的代码。干杯.. !!
android - 如何在另一个 Fragment 中使“NavHostFragment”响应“onBackPressed”?
我有Activity
一个NavHostFragment
嵌套在 a 中的Fragment
:
View
的根Activity
Fragment
NavHostFragment
当我在 NavGraph 中导航时,正在创建一个返回堆栈。NavHostFragment
但是,只要我单击设备的后退按钮,而不是转到前Fragment
一个后退堆栈,应用程序就会关闭(好像没有后退堆栈一样)。
我错过了什么吗?NavHostFragment
和之间是否有任何耦合Fragment
需要做?
android - Android 退出子导航图
我正在使用一个nav_graph,我有一个场景,比如我有fragment1,然后转到另一个fragment,它是一个子导航图,它有几个fragment(fragment3和fragment4),起始目的地是fragment3,从fragment3我要去fragment4 fragment4 有“完成”按钮。
这是场景:
- 我从fragment1和fragment4调用这个子导航图,我想重定向到它是父级,即fragment1
- 我从fragment2和fragment4调用这个子导航图,我想重定向到它是父级,即fragment2
这就是我在 fragment4 中处理完成按钮单击事件的方式:
但它没有重定向到父节点,而是重定向到子图统计目标,即片段3
这是我的 nav_graph 的样子:
这里有两个片段:
这是我的子导航图:
我错过了什么?我应该如何实现这一目标?
android - 默认情况下如何在不加载片段的情况下使用导航图?
我需要使用导航组件并且已经设置好了。导航图需要startDestination
在创建时默认加载该片段。但是,我有一个片段,我只想在现有屏幕中触发事件后显示。在我准备好导航到它之前,我怎么能将片段容器留空?
android - NavigationUI.navigateUp 什么都不做
我有一个活动,其中有一个片段,其中我引用了一个导航图组件:
活动 XML:
导航图:
活动代码:
在打开的第一个片段 ( CountryPickerFragment
) 中,我有从 aMutableLiveData
内部观察值的代码ViewModel
。当观察到该值时,它会打开第二个片段,使用导航库进行导航。的相关代码CountryPickerFragment
如下:
这也是第二个片段:
虽然这段代码确实打开了同一活动中的第二个片段并显示了Country Value
内部 Logcat,但它还在操作栏上带来了一个后退按钮。当我尝试按下该返回按钮时,它不会返回到上一个片段,而是Country Value
在 Logcat 中放置另一个片段。按下手机导航栏上的后退按钮也是如此。
如何CountryPickerFragment
从新生成的片段 ( ) 回到前一个片段 ( PlatformPickerFragment
)?
PS。如果有人想看代码,你可以去这里
android - 当我将相同的片段添加到第二个导航图时,不识别动作类
我需要将相同的片段添加到不同的导航图中。这是第一张图的一段代码(mobile_navigation)
第二个导航图中的第二个代码片段 ( navigation_initial )
当我尝试 MakeProject 时,构建输出显示错误:
位置:类 FragmentContactanosClienteDirections
但是当我评论第二段代码(navigation_initial)时,问题就消失了。问题是我需要第二段代码,因为我需要调用片段并与它共享捆绑包、其他信息并显示不同的东西......如何实现这一点?
我还分享了图表的设计:
移动导航
导航_初始