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

shk*_*hko 3 android android-navigation android-architecture-navigation

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

<action
        android:id="@+id/action_from_to_destination"
        app:destination="@id/destination" />
Run Code Online (Sandbox Code Playgroud)

shk*_*hko 10

感谢@ianhanniballake,我弄清楚了问题所在。所有 androidx.navigation 依赖项应具有相同的版本。就我而言,Safe Args 插件仍为 3.5 版本。通过升级到 2.4.0-alpha02 解决了问题。

如果有人遇到同样的问题,您需要采取以下措施以避免将来出现类似问题:

build.gradle中的buildscript 下定义以下内容:

 ext.navigation_version="2.4.0-alpha02"
Run Code Online (Sandbox Code Playgroud)

并在依赖项下:

classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navigation_version"
Run Code Online (Sandbox Code Playgroud)

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"
Run Code Online (Sandbox Code Playgroud)

现在您只需更改一处导航版本即可。