更新了导航框架并收到错误 -“getActionId 不覆盖任何内容”

Dev*_*cie 5 android android-navigation android-architecture-navigation android-safe-args

我已将导航框架从 2.3.5 更新到 2.4.0-alpha01 版本。我将它与 Safe Args gradle 插件一起使用。更新后,我开始出现'getActionId' overrides nothing错误'getArguments' overrides nothing

我认为发生这种情况是因为 Safe Args在生成 Direction 类时不正确地覆盖了actionIdarguments字段。NavDirections

例如,这是正在生成的内容:

 public override fun getActionId(): Int =
        R.id.action_navigation_articles_to_articleReaderFragment
Run Code Online (Sandbox Code Playgroud)

这是应该生成的:

public override val actionId: Int = R.id.action_navigation_articles_to_articleReaderFragment
Run Code Online (Sandbox Code Playgroud)

如何获得安全参数来生成正确的构建器类?

Dev*_*cie 3

事实证明,这是一段时间以来的已知错误。

在我发布这个问题一天后,2.4.0-alpha02 Navigation发布了,修复了这个错误:

尝试在 Kotlin 中生成方向属性时,Safe Args 不再崩溃。(ID2416,b/188564435)

只需更新到 2.4.0-alpha02 版本即可修复。