问题标签 [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 投票
1 回答
2833 浏览

android - 在导航组件中使用带有安全参数的 parcelable

我想将 Parcelable 与版本中的 Navigation Components 和 Safe Args 一起使用1.0.0-alpha07。虽然自alpha 03 Parcelable 起应受 Safe Args 支持,但我无法使用它们。使用它的唯一方法是 with app:argType="android.os.Parcelable"which 对我来说似乎不是正确的方法。

如果我只使用app:argType="Parcelable"生成的类中没有生成导入。因此,将 Parcelable 与 Safe Args 一起使用的正确方法是什么?

0 投票
1 回答
1388 浏览

android - 在两个片段之间传递参数,每个片段在不同的导航图中

使用 Android 导航组件。我有两个导航图(每个都有自己的流程),比如说导航图 A 和 B。我成功地从 A 导航到 B,但我无法将图 A 中包含的最后一个 Fragment 的参数传递给属于图 B 的起始 Fragment。

我能够在属于同一图的片段之间传递参数,但是在导航图之间导航时不会生成设置参数的函数。

我正在尝试使用 safeargs 来实现这一点。

这是导航图代码:

导航图 A:

导航图 B:

关于如何做到这一点的任何想法?

0 投票
8 回答
17501 浏览

android - 未解决的参考:向目的地添加了一些参数后的 NavArgs

我正在做一个小项目并尝试使用新的导航架构组件。当我尝试向目的地添加一些参数时,出现“未解决的参考:NavArgs”错误。

我按照本指南https://developer.android.com/topic/libraries/architecture/navigation/navigation-pass-data#kotlin 并已添加

classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-alpha11"

到我的项目 gradle 文件中,还添加了

apply plugin: 'androidx.navigation.safeargs.kotlin'

到我的应用程序 gradle 文件。

如上面的指南中所见,我想用它val args: AddKittenFragmentArgs by navArgs()来获取传递的参数。但navArgs()不被认可。

同样NavArgs在生成的代码中也没有解决。

0 投票
1 回答
475 浏览

java - 如何在多模块架构(Java)中使用 Safeargs?

如何在我的应用程序的任何或所有模块中使用 Java 和 Safeargs?

我的应用程序有一个多模块设置。如果我将 Kotlin 用于模块,Safeargs 在所有模块中都可以正常工作。但是,如果我将语言切换到 Java。如果我从 app 以外的模块中删除 Safeargs 插件,错误就会消失!!我正在使用版本:1.0.0-alpha11。这是为什么??有没有办法在任何或所有模块中使用 Safeargs 和 Java?

build.gradle(项目)

build.gradle (app) 没有 Safeargs

构建.gradle(用户界面)

0 投票
5 回答
1860 浏览

android - 使用 safeargs 我得到“找到所需的捆绑包?”

我正在使用 safeargs 传递参数。在接收片段中,我收到编译错误:'Required Bundle Found Bundle?'。看不到错误在哪里蔓延。

谷歌搜索,检查文本和 udacity 教程

出现错误的地方(在“参数”处)

发送代码:

此处出现错误 var args = FragmentTwoArgs.fromBundle(arguments)

参数应该是 Bundle 但是 Bundle?

0 投票
6 回答
16900 浏览

android - 在 Android 导航组件中使用 navigateUp 传递数据/捆绑

我找到了问题,但在代码中没有解决方案

我想在回压/手动回退发生时获得数据。我习惯navigateUp()回去。如何将数据传递给前一个片段?navigateUp()没有任何工具可以将数据传递到前一个片段。即使我没有找到使用Safe Args的解决方案。它正在向前传递数据。我想在后向的 Frad B -> Frag A.

我的代码返回到上一个片段

在此处输入图像描述

我的问题是,我怎样才能在以前的片段中获取数据。我可以使用从 Frag B 导航到 Frag A

0 投票
7 回答
11554 浏览

android - 原因:androidx.navigation.safeargs 只能用于 androidx 项目

我正面临名为safeargs.

classpath 'androidx.navigation:navigation-safe-args-gradle-plugin:2.0.0'在构建gradle中使用过。

在应用插件androidx.navigation.safeargs.kotlinapp/build.gradle,我收到以下错误:

原因:androidx.navigation.safeargs 只能用于 androidx 项目

应用程序/build.gradle

0 投票
1 回答
4688 浏览

android - 使用 SafeArgs 导航到 Fragment 时检查参数是否存在

我迁移到导航组件,因为我现在使用 Fragments,所以我不再在 Fragment 中调用 onActivityResult()。

我定义了传递给 AddEditTaskFragment 的参数,并希望将修改后的参数发送回 TodayFragment。由于每次导航到 TodayFragment 时都会调用 onViewCreated(),所以我想检查我是否真的将参数传递给它以将任务保存在我的数据库中。

由于 AddEditTaskFragmentArgs.fromBundle(getArguments()) != null 不起作用,检查片段是否正在接收参数的推荐方法是什么?

这就是我导航回调用片段的方式。

现在我想做类似的事情:

0 投票
2 回答
1883 浏览

navigation-drawer - 如何使用安全参数将数据从导航抽屉传递到活动?

假设我们有一个像这样的项目:

链接到一个简单的项目:https ://github.com/udacity/andfun-kotlin-android-trivia/blob/Step.11-Solution-Adding-Animation/app/src/main/java/com/example/android/导航/MainActivity.kt

如果用户从导航抽屉中选择其标题,我的navGraph文件 包含片段和一个我想去的活动。我想向这个 Activity 发送一些数据。如何使用安全参数来做到这一点?

我在用着:

0 投票
3 回答
1775 浏览

android - 如何从 SafeArgs 中的资源中获取默认字符串值?

我正在学习 Android NavigationUI,并尝试使用 Safe Args 中的字符串默认值设置工具栏标题。但是有一些问题。

“字符串资源”文件:

导航图文件。将标签设置为Title: {title}参数。

如果{app:argType="string"}我收到错误:

如果 {app:argType="reference"}应用程序有效,但我在标题中有一个数字(我认为这是一个资源 ID):

在此处输入图像描述

当然,我可以通过从参数中获取它来分配代码中工具栏标题的值。但是是否可以更改此代码以正确填写标题?