升级到导航版本 2.4.0-alpha02 后“getActionId 不覆盖任何内容”

“getActionId overrides nothing” after upgrading to navigation version 2.4.0-alpha02

我从 2.3 版升级到 2.4.0-alpha02 后遇到了这个问题。 新版本应该包含 ,但它对我不起作用。 作为参考,我的操作定义如下:

<action
        android:id="@+id/action_from_to_destination"
        app:destination="@id/destination" />

感谢@ianhanniballake,我弄清楚了问题所在。所有 androidx.navigation 依赖项应该具有相同的版本。在我的例子中,Safe Args 插件仍然是 3.5 版。通过将其升级到 2.4.0-alpha02 解决了问题。

如果有人 运行 遇到同样的问题,以下是您需要避免以后出现类似问题的方法:

build.gradle中,在buildscript下定义如下:

 ext.navigation_version="2.4.0-alpha02"

并在依赖项下:

classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navigation_version"

build.gradle (:app) 中,依赖项下:

implementation "androidx.navigation:navigation-runtime-ktx:$navigation_version"
implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version"
implementation "androidx.navigation:navigation-ui-ktx:$navigation_version"

现在只需要更改一个地方的导航版本即可。