问题标签 [android-safe-args]

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 投票
3 回答
1931 浏览

android - 如何在启用安全参数的不同导航图中重用片段?

我正在尝试在启用了安全参数的不同导航图中重用一个片段。我注意到如果操作不同,我会收到编译错误。这是因为xxxFragmentDirections自动生成的代码只会生成其中一个动作。

nav_graph_1.xml

nav_graph_2.xml

一个简单的用例:一个银行应用程序有两个流程:提款和存款,因此您可以有两个导航图。你可以有一个AmountFragment你可以输入一个数字的地方,这个数字可以重复用于提款或存款。但是,根据流程,操作/目的地可能会有所不同。

那么,如何重用这个片段呢?

0 投票
2 回答
1655 浏览

android - 带有未生成参数的android NavDirections构造函数

我正在Android Jetpack Navigation使用native java. 事情是compiler自动生成负责导航图中定义的动作的类,带有对应的参数setters and getters,但它不是生成带有参数的构造函数,而只是一个空的static constructor

有什么方法可以使safeArgs pluginNavigation framework创建 this 构造函数arguments

我的xml:

谢谢

0 投票
1 回答
1939 浏览

android - Parcelables 不支持默认值。Android 导航深层链接参数

在执行传参解决方案的过程中,在模块之间导航时,遇到了一个序列化错误。据我所知,深度链接接受自定义参数类型,即 Parcelables 或 Serializable。

我正在使用最新版本的导航 2.2.0

错误信息:

java.lang.UnsupportedOperationException:Parcelables 不支持默认值。

我做错了什么还是仍在开发中?

这是一个简短的例子:

我在这里发现了类似的东西Android Parcelable 不支持默认值 App Crash

这是我在堆栈上的第一篇文章,所以请温柔:)

编辑

这是答案:

https://issuetracker.google.com/issues/148523779

0 投票
1 回答
1205 浏览

android - SavedStateHandle 返回空值

我有一个ActionBar打开CategoryFragment. 该片段接受从另一个片段传递的category对象参数。SafeArgs在 中CategoryFragment,我将category的名称和 idViewModel作为SavedStateHandle值存储到片段的共享中。我已经对其进行了设置,以便片段在SavedStateHandle需要时使用存储的类别名称和 id 值。例如,第一次CategoryFragment使用从发送片段传递的类别对象,但随后的创建CategoryFrgament将使用这些SavedStateHandle值。

问题是,如果在第一次打开CategoriesFragment然后通过按手机的物理后退按钮或从导航栏中手机的最近按钮终止应用程序退出应用程序后,现在CategoryFragment通过按操作栏菜单图标直接打开应用程序会显示一个空白屏幕。这是因为从返回的值SavedStateHandle是空的。我怎样才能解决这个问题?

类别片段

CategoryTasksViewModel

0 投票
1 回答
548 浏览

android - 添加安全参数依赖项后 DataBindingUtil 不起作用

我正在添加安全参数依赖项:

项目级别:

应用级别:

当我同步项目时,我的数据绑定停止工作,例如:

binding.root 显示未解析的引用,当我转到 DataBindingUtil.java 时,出现错误:

我正在遵循 Google udacity 课程中的确切步骤,但似乎添加安全参数依赖项与数据绑定库发生了某种冲突。我能做些什么来解决这个问题?

0 投票
1 回答
182 浏览

uinavigationcontroller - 未生成 SafeArgs

我正在使用导航组件,但无法生成 Args 类,因此我可以通过Fragment以下方式在目的地使用它:

我看到它MySourceFragmentDirections是生成的,所以我假设插件使用正确。我尝试在 Android Studio 中清理和重建项目,但没有看到任何生成的 *Args 类。

我的nav_graph.xml包含:

0 投票
0 回答
23 浏览

android - 导航回片段时的导航安全参数问题

我正在使用导航和安全 arg 将用户从片段 A 重定向到 B。片段 B 根据从 A 传递到 B 的参数进一步将用户重定向到片段 C。现在的问题是当我从片段 C 按下时片段 B 被重新创建但仍然是我之前通过的论点,我一次又一次地得到。所以它创建了一种类型的循环 A - B - C - B - C - B - C

任何帮助,将不胜感激

0 投票
1 回答
323 浏览

android - 在导航片段之间传递 Parcelable 对象时出现异常膨胀 nav_graph

我试图在导航片段之间传递一个对象。我能够构建该项目,但是当它启动时,我在 nav_graph 上收到一条错误消息:“异常膨胀 nav_graph 第 20 行”。第 20 行是 nav_graph 上的参数行。我刚刚将@Parcelize 关键字添加到我试图传递并设置nav_graph 的类的顶部。我需要做其他事情吗?

团队班:

导航图:

HomeFragment方法:

结果片段方法:

0 投票
2 回答
1022 浏览

android - SafeArgs NavController Android gradle 插件更新到 2.2.0 错误

我最近更新了我的 App 依赖项,并尝试将 safeargs 导航组件 gradle 插件更新为 2.2.1(实际上也发生在 2.2.0 中),如下所示:

尝试编译项目时出现以下错误:

我尝试了所有这些解决方案,都没有奏效。


摇篮文件

编辑:更多调试使我得出结论,这是由kotlinpoet库的依赖冲突引起的,因为如果我将 safe-args 插件更改为使用 java 版本:

它按预期工作。我的问题是,当我调用时,我对kotlinpoet./gradlew app:dependencies没有任何依赖,所以我不知道如何调试冲突。

谢谢和最好的问候, 伊格纳西奥

0 投票
1 回答
888 浏览

android - (FragmentDirections 类),GameFragmentDirections(在这种情况下)在使用安全参数时未生成

我正在尝试使用 Safe Args 从 GameFragment 导航到 GameWonFragment。但是没有生成 GameFragmentDirections 类。

项目模块 Gradle

应用 Gradle