首页 > 解决方案 > Safeargs 库不生成方向类

问题描述

我使用导航库和安全参数来传递数据。我像这样定义片段的参数。

<fragment
        android:id="@+id/otherFragment"
        android:name="com.asd.navigate.OtherFragment"
        android:label="OtherFragment">
        <argument
            android:name="screenTitle"
            android:defaultValue="0"
            app:type="string" />
    </fragment>

生成了 OtherFragmentArgs,我可以使用它,但是单击“制作项目”时不会生成 OtherFragmentDirection 类。是那个错误还是我必须做一些不同的事情。

谢谢你的建议。

buildscript {
    ...
    dependencies {
       ...
        classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-alpha01"

    }
}

构建.gradle

apply plugin: "androidx.navigation.safeargs"

MainActivity.kt

在此处输入图像描述

标签: kotlinandroid-navigationandroid-jetpack

解决方案


查找作为导航源的片段的类。如果您定义从 FragmentA 到 FragmentB 的导航,您将找到 FragmentADirections 类,其中包含您定义的操作(在 nav_graph.xml 中)。

然后,要生成方向类(也是参数类),您需要Project level gradle点击build命令。在这里我附上一个截图,以便清楚地了解。

在此处输入图像描述


推荐阅读