问题标签 [navigation-architecture]

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 投票
8 回答
39216 浏览

android - 将数据从嵌套片段发送到父片段

我有一个Fragment FR1包含几个Nested FragmentsFRa, FRb, FRc. 这些Nested Fragments是通过按ButtonsonFR1的布局来改变的。每个Nested Fragments都有几个输入字段;其中包括EditTexts,NumberPickersSpinners. 当我的用户通过并填写所有值时Nested FragmentsFR1(父片段)有一个提交按钮。

那么我怎样才能从我的值中检索我的值Nested Fragments并将它们带入FR1.

  1. 所有Views都在每个Nested Fragment.
  2. 父级FragmentFR1处理 的事务Nested Fragments

我希望这个问题足够清楚,我不确定是否需要发布代码,但如果有人觉得我可以这样做。

编辑1:

这是我添加我的方法Nested Fragments

我的constructNewProfile()方法需要我的值Nested Fragments

以上是指父片段的字段;以及它们最初是如何实例化的。

0 投票
6 回答
2484 浏览

android - Android 导航组件:从 nav_graph.xml 添加目的地时,片段在下拉列表中不可见

当我在单击“新目的地”按钮时尝试添加目的地时在此处输入图像描述 ,从下拉列表中我无法看到我的项目中已经存在的任何片段。

当我尝试通过单击下拉菜单中的“创建空白目标”选项来添加空白片段时,我也遇到了这个问题。

我尝试重新启动 IDE,这个Android Navigation Component Not Displaying Fragment但它不能解决我的问题。

导航依赖:实现“androidx.navigation:navigation-fragment:1.0.0-rc02”

我的项目已经迁移到 AndroidX。

我错过了什么吗?任何帮助,将不胜感激。

摇篮依赖:

0 投票
1 回答
402 浏览

android - 我应该如何使用导航架构组件和单活动方法处理 ViewPager 片段中的导航

这是我的单一活动方法:

MainActivity 有 NavHost

MainFragment 与 AppBarLayout、TabLayout、ViewPager 等。

MainFragment 在 ViewPager 中有 2 个(或更多)片段 -> {

CustomerListFragment -> 将导航到 CustomerDetailFragment

EmployeesListFragment -> 将导航到 EmployeeDetailFragment

}

CustomerDetailFragment(具有完全不同的设计布局)

EmployeeDetailFragment(它也有完全不同的设计布局)

*我的问题是,我将如何使用导航架构组件(androidx)处理这些列表片段到详细片段之间的导航*

0 投票
2 回答
311 浏览

android - 检测导航组件中的弹出

在导航组件中,如何检测片段是否从弹出事件中被带到前面?

我从 A 到 B,现在我使用返回键关闭 B,它返回到 A,现在在 A(在onViewCreated事件中)我想检测它来自 B。

0 投票
1 回答
3246 浏览

android - 如何使用可能的待处理意图从服务导航到导航片段?

我正在尝试从我的通知中打开一个带有 args 的片段。实际上,就我而言,我的音频播放器运行带有通知的前台服务,现在我想通过在用户单击通知时传递音频 ID 来导航到该特定音频的片段。

0 投票
0 回答
562 浏览

android - NavController.handleDeepLink() 不工作

我正在尝试使用以下方式处理应用程序中的深层链接:-

这不是导航到任何页面。

这是我创建意图的方式:-

我做得对吗?如果不是,那么处理应用内深层链接的正确方法是什么(我需要为一些内部促销卡处理)?

0 投票
1 回答
252 浏览

java - 与导航主机片段不同大小的片段

我在我的单个活动应用程序中使用导航架构组件,它工作正常,但我面临的是,在一个片段中,我需要有另一个片段,它需要大约 60% 的初始片段大小(60%导航主机片段)。我怎样才能做到这一点?

0 投票
1 回答
4498 浏览

android - 如何处理多个 NavHosts/NavControllers?

我在处理多个 NavHost 时遇到问题。这个问题与这里提出的问题非常相似。我认为这个问题的解决方案也会对我有所帮助,但这是 2017 年的帖子,仍然没有答案。Android 开发者文档没有帮助,通过网络搜索绝对没有任何帮助。

所以基本上我有一个活动和两个片段。我们称它们为 FruitsActivity、FruitListFragment、FruitDetailFragment,其中 FruitsActivity 没有相关代码,其 xml 布局由一个<fragment>标签组成,用作NavHost,如下所示:

FruitListFragment 是我的 NavGraph 的 startDestination,它处理来自服务器的水果列表。FruitDetailFragment 显示 FruitListFragment 显示的列表中所选水果的详细信息。

到目前为止,我们有 Activity -> ListFragment -> DetailFragment。

现在我需要再添加一个 Fragment,称为 GalleryFragment。它是一个简单的片段,显示许多所选水果的图片,并在单击按钮时由 FruitDetailFragment 调用。

这里的问题是:在纵向模式下,我只是使用findNavController().navigate(...)并按照我想要的方式浏览片段。但是当我在横向模式下使用平板电脑时,我正在使用该主详细信息流在同一屏幕上显示列表和详细信息。这里有一个如何工作的示例,我希望 GalleryFragment 替换 FruitDetailFragment,与水果列表共享屏幕,但到目前为止我只能设法使其替换“主导航”流,占据整个屏幕并将 FruitListFragment 发送到 Back Stack。

我已经尝试过使用findNavController()方法,但无论我从哪里调用它,我只能一直得到相同NavController的结果,而且它总是以相同的线性方式导航。我试图实现我自己的 NavHost,但我得到并错误“找不到 androidx.navigation.NavHost 的类文件”。

这是我的 FruitsActivity 的 xml:

这是横向模式下 FruitListActivity 的 xml(纵向模式下只有 RecyclerView):

现在我想调用 GalleryFragment 并让它只替换<fragment>id 'sideFragmentContainer' 而不是整个屏幕(而不是替换Activity 的 xml 中<fragment>的 id fragmentContainer)。

我没有找到任何关于如何处理多个 NavHosts 或<fragment>inside的解释<fragment>

那么基于此,是否可以使用导航架构并在另一个片段中显示一个片段?我需要多个 NavHost,还是有其他方法?

0 投票
1 回答
1116 浏览

android - 片段中的布局仅显示在屏幕的一半上,但在活动中是正确的

我正在夸大片段的布局。它没有利用整个屏幕,布局看起来像是缩小到了屏幕的一半。但是在Android studio的预览画面中看起来很完美。我正在使用导航组件来遍历Fragment。

布局xml如下所示

android studio预览完美如下图

在此处输入图像描述

截图与工作室预览不符

在此处输入图像描述

我还观察到,当使用一项活动时,它可以完美运行。但是使用片段是不正确的。下面是我膨胀的片段代码。

主要活动布局如下

请帮我解决这个问题。

0 投票
0 回答
2155 浏览

android - 屏幕旋转时 NavHostFragment 错误膨胀类片段

我正在创建一个使用导航架构的应用程序,但我的导航没有默认主机,并且可以根据用户选择的目的地进行设置。

所以这是我的 NavHostFragment 的设置

这是我的主要活动布局。

所以,我MainActivity的加载正确但是当我开始旋转设备的屏幕时,它遇到了一些错误

上述错误指向布局中setContentView(R.layout.activity_main)的我和 NavHostFragment <fragment>

任何帮助表示赞赏,谢谢!