【问题标题】:(FragmentDirections Class), GameFragmentDirections(In this case) not generated while using safe args(FragmentDirections 类),GameFragmentDirections(在这种情况下)在使用安全参数时未生成
【发布时间】:2020-04-09 14:45:08
【问题描述】:

我正在尝试使用 Safe Args 从 GameFragment 导航到 GameWonFragment。但是没有生成 GameFragmentDirections 类。

 <fragment
    android:id="@+id/gameFragment"
    android:name="com.example.trivia.GameFragment"
    android:label="@string/android_trivia"
    tools:layout="@layout/fragment_game"
    >
    <action
        android:id="@+id/action_gameFragment_to_gameWonFragment"
        app:destination="@id/gameWonFragment"
        app:popUpTo="@id/gameFragment"
        app:popUpToInclusive="true" />
    <action
        android:id="@+id/action_gameFragment_to_gameOverFragment"
        app:destination="@id/gameOverFragment"
        app:popUpTo="@id/gameFragment" />
</fragment>

项目模块 Gradle

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

应用 Gradle

apply plugin: "androidx.navigation.safeargs"

【问题讨论】:

  • 您是否构建了该项目?它们仅在您构建项目时生成。
  • 是的,我重建并清理

标签: android android-fragments kotlin android-jetpack-navigation android-safe-args


【解决方案1】:

您是否在应用级别的 build.gradle 中添加了以下依赖项?

implementation 'androidx.navigation:navigation-fragment-ktx:2.2.1'
implementation 'androidx.navigation:navigation-ui-ktx:2.2.1'

您也可以通过here查看样品。

【讨论】:

  • 如果你在 kotlin 中工作,那么你必须使用 apply plugin: "androidx.navigation.safeargs.kotlin" 而不是 apply plugin: "androidx.navigation.safeargs"
  • 按照以下步骤工作。看看here
  • @DhrumilShah 谢谢,这为我解决了这个问题。谷歌的这个教程已经有 2 年历史了,很多东西似乎已经过时了。
猜你喜欢
  • 1970-01-01
  • 2022-11-19
  • 1970-01-01
  • 2014-11-18
  • 2011-10-26
  • 1970-01-01
  • 1970-01-01
  • 2023-02-23
  • 1970-01-01
相关资源
最近更新 更多