问题标签 [android-jetpack-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.

0 投票
4 回答
5062 浏览

android - 防止导航到同一个片段

我正在使用带有 BottomNavigationView 的 Android 导航喷气背包库。我已经实现了 NavHost、NavGraph 和我的片段。当我使用操作进行导航时,一切都按预期工作。

我使用以下代码来设置所有内容:

问题是,如果我单击选项卡 2 次,则片段会重新创建两次。有没有办法拦截导航?我不想导航到正在显示的同一片段。

0 投票
1 回答
1310 浏览

android - 在 AndroidX Fragment 中禁用后退按钮

我将单活动模式(每个 UI 的片段)与 Android 的 Jetpack 导航一起用于应用程序开发。每个片段代表一个 UI。有什么简单的方法可以禁用后按操作(软/硬件按钮)?

谢谢。

0 投票
0 回答
672 浏览

android - 带有导航库和片段的 android 主细节模式

我想在平板电脑上创建一个带有片段和导航组件的简单 2 窗格布局。喷气背包可以吗?我找不到任何如何设置导航组件的示例。

最重要的是,在平板电脑 2 窗格片段布局上还可以,但在手机上,我想全屏显示主片段,并在较小的弹出窗口中显示细节片段,这仍然是片段。它应该在 FrameLayout 中,如下所示:

0 投票
2 回答
82 浏览

android - 使用 Jetpack 传输数据

寻找一种更优雅的方式来使用 Jetpack 传输数据

现在我传递数据如下:

并像这样在另一个片段中获取它:

我看过谷歌的人在codelab中做的,但在他的例子中他们创建了类FlowStepFragmentArgs,而且它是大量的

:在我的情况下,我怎样才能漂亮地传输数据

0 投票
1 回答
589 浏览

android - 使用 Jetpack 的 Android 导航组件重新创建的片段

我有两个片段(例如,fragmentA 和 fragmentB)。

首先,在 fragmentA 中使用findNavController().navigate(R.id.action_fragmentA_to_fragmentB)导航到 fragmentB。

那么,如果你想回到fragmentA,在fragmentB中。下面有两种方法:

  • 只需按下后退按钮:fragmentAonCreate()将不会被调用
  • findNavController().navigate(R.id.action_fragmentB_to_fragmentA):fragmentAonCreate()将被调用

为什么?

0 投票
0 回答
35 浏览

android - 导航问题如果我有多个底部导航视图怎么办

您好,我在执行此操作时遇到了很多问题。我在主要活动中有以下 xml

内容主...

如您所见,我正在使用框架布局来更改底部导航视图,具体取决于我的应用程序中的某些条件,我必须使用 4 个 BNViews。然后我在框架布局中放置了一个底部导航视图来开始练习。

这是底部配置和fragment_bottom_nav_usuario_auto

然后菜单...

然后我确定导航图中的 ID 与菜单中的 ID 匹配。

然后我确保我调用了 MainActivity

我在此过程中看到两种类型的错误...

和:

如果您现在真的不知道答案,请不要回答。我想知道完成这个练习的正确方法,拜托。

0 投票
1 回答
77 浏览

android - 如何在多个导航图之间共享共同的动作(或活动)?

我在我的 android 应用程序中使用具有多个活动的导航库,我想知道,是否有办法在多个导航图之间共享一些操作(打开带有预定义参数的某些页面)。它是这样的:

  1. 存在ActivityB在其导航操作中需要参数abc 。
  2. ActivityANavGraphA打开ActivityB
  3. ActivityCNavGraphC,它也打开ActivityB

现在我想使用在NavGraphANavGraphC中打开ActivityB的操作,最好不要在两个图中复制活动、它的参数和操作本身(例如某种包含?)。

我知道可以在两个图中将ActivityB定义为活动元素,但是我需要再次使用相同的参数重新定义动作。

我需要在这两个图中做这样的事情:

如您所见 - 我可以将这些参数包装到一个类中,这将减少参数的数量,但最初的问题仍然存在。

或者我可以用不同的 id 复制它。

也许有一种方法可以以某种方式在多个图表中包含共享的全局动作?

0 投票
0 回答
369 浏览

android - 如何使用导航组件返回片段而不丢失数据?

我有一个名为的活动MainActivity,其中包含FirstFragment. 使用导航组件,我已经设置可以从中打开的单个片段FirstFragmentSecondFragment. 我还启用了后退按钮,以便能够SecondFragmentFirstFragment. 但是,当我回来时,这些字段的填写方式与我离开时不同。

0 投票
2 回答
105 浏览

android - Android,如何在我的首选项中添加工具栏?

首先,我使用的是 Jetpack 导航组件 - 导航抽屉。

而“无操作栏”是我应用的主要风格。

这是清单。

因为我使用 Jetpack 导航组件,所以它是一个单一的活动模式。

通常,我的 UI 有一个自定义工具栏。没关系。

但是在设置 UI 的情况下,我遇到了一个问题......

我正在使用 Jetpack 首选项。https://developer.android.com/guide/topics/ui/settigs

我的设置 UI 扩展了“PreferenceFragmentCompat”,它也在“nav_graph.xml”中定义。

因此可以通过以下代码访问它:

因为我的应用程序使用“NoActionBar”,所以首选项也没有操作栏。并且首选项是由 Jetpack Preferences 做出的,我无法添加自定义工具栏。

请问有什么好的想法/解决方案吗?

0 投票
1 回答
186 浏览

android - Android导航如何在第二级片段上添加导航向上按钮

我正在使用导航图来托管我的片段。如何从 more_menu_help 添加返回按钮,以便它可以返回到 nav_more?

看截图: 在此处输入图像描述

我尝试执行以下操作,但是,后退箭头图标出现在 nav_payments、nav_benefits 和 nav_more 片段中。我只想在 more_menu_help 中添加返回箭头:

查看福利屏幕。导航向上返回按钮箭头显示在这里,这是我不想要的。 在此处输入图像描述