我正在开发一个使用 Kotlin Multiplatform 插件的应用程序,我尝试使用 Navigation 组件在我的应用程序的不同片段之间导航。
我的问题是由于与常规 Android Proyect 相比 KMM proyect 的复杂结构。
当我尝试运行我的 proyect 时,使用它的 FragmentArgs 类找不到生成的 Navigation 组件的不同类。
也就是说,在 KMM 中,用户界面在不同的文件夹中是分开的,业务逻辑是另一个类,数据库也是。
在此捕获中,它可以看到 KMM proyec 的常规结构:
所以在我的 DetailFragmentArgs 中生成的错误是这样的:
error: cannot find symbol
private final UnplashPhoto photo = null;
^
symbol: class UnplashPhoto
我的 nav.graph.xml 的代码如下:
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/nav_graph"
app:startDestination="@id/HomeFragment">
<fragment
android:id="@+id/HomeFragment"
android:name="com.jshvarts.kmp.android.home.HomeFragment"
android:label="HomeFragment" >
<action
android:id="@+id/action_navigate_from_home_to_detail"
app:destination="@id/DetailFragment">
<argument
android:name="photo"
app:argType="shared.src.commonMain.kotlin.com.jshvarts.kmp.model.UnplashPhoto"/>
</action>
</fragment>
<fragment
android:id="@+id/DetailFragment"
android:name="com.jshvarts.kmp.android.detail.DetailFragment"
android:label="DetailFragment" >
<argument
android:name="photo"
app:argType="shared.src.commonMain.kotlin.com.jshvarts.kmp.model.UnplashPhoto"/>
</fragment>
</navigation>
我尝试了一些路径,但不起作用:从存储库、从内容根目录和源根目录。
如果您在 KMM 插件方面更有经验并在某个时候处理过这个问题,欢迎您提供帮助!
提前致谢 !