【发布时间】:2022-10-04 23:41:27
【问题描述】:
我有一个片段使用:
val action = LoginFragmentDirections.actionLoginToHome()
findNavController().safeNavigate(action)
导航图 XML 声明为:
<fragment
android:id="@+id/loginFragment"
android:name="com.myapp.LoginFragment"
android:label="login_fragment"
tools:layout="@layout/login_fragment">
<action
android:id="@+id/action_login_to_home"
app:destination="@+id/homeFragment"
app:launchSingleTop="true"
app:popUpTo="@navigation/nav_graph_main"
app:popUpToInclusive="false" />
</fragment>
Android Studio 编译器不会抛出任何错误,我什至可以使用 cmd click 从 actionLoginToHome() 函数导航到 XML 文件。但是,在构建应用程序时,gradle 编译会引发错误:
**Unresolved reference: actionLoginToHome**
根梯度:
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.5.2"
模块摇篮:
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
id 'androidx.navigation.safeargs.kotlin'
}
...依赖关系..
implementation "androidx.navigation:navigation-fragment-ktx:2.5.2"
implementation "androidx.navigation:navigation-ui-ktx:2.5.2"
【问题讨论】:
标签: android android-architecture-navigation android-navigation android-navigation-graph android-safe-args