以下函数均不能使用 jetpack compose 中 koin 上提供的参数进行调用

Viv*_*odi 1 android kotlin koin android-jetpack android-jetpack-compose

我在我的 jetpack compose 应用程序中使用 koin v3.2.0。我的viewModelOf. 我也从示例项目中正确导入。

\n
dependencies {\n\n    implementation \'androidx.core:core-ktx:1.8.0\'\n\n    implementation "androidx.compose.material:material:$compose_version"\n    implementation \'androidx.compose.material3:material3:1.0.0-alpha14\'\n\n    implementation "androidx.compose.ui:ui:$compose_version"\n    implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"\n    implementation \'androidx.activity:activity-compose:1.5.0\'\n    debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"\n    debugImplementation "androidx.compose.ui:ui-test-manifest:$compose_version"\n    implementation "androidx.compose.runtime:runtime-livedata:$compose_version"\n    implementation "androidx.navigation:navigation-compose:$nav_version"\n\n    testImplementation \'junit:junit:4.13.2\'\n\n    androidTestImplementation \'androidx.test.ext:junit:1.1.3\'\n\n    androidTestImplementation \'androidx.test.espresso:espresso-core:3.4.0\'\n\n    androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"\n\n    implementation "androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycle_version"\n    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"\n    implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"\n\n    implementation \'androidx.work:work-runtime:2.7.1\'\n\n    implementation "com.google.accompanist:accompanist-systemuicontroller:0.17.0"\n\n    implementation "com.airbnb.android:lottie-compose:$lottieVersion"\n\n    implementation "io.insert-koin:koin-android:$koin_version"\n    implementation "io.insert-koin:koin-androidx-compose:$koin_version"\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n

应用程序模块.kt

\n
package com.vivek.sportsresult.di\n\nimport org.koin.androidx.viewmodel.dsl.viewModelOf\nimport org.koin.dsl.module\n\nval appModule = module {\n    viewModelOf(::MainActivityViewModel)\n}\n
Run Code Online (Sandbox Code Playgroud)\n

MainActivityViewModel.kt

\n
package com.vivek.sportsresult.viewmodel\n\nimport androidx.lifecycle.ViewModel\n\nclass MainActivityViewModel : ViewModel() {\n}\n
Run Code Online (Sandbox Code Playgroud)\n

图像错误

\n

在此输入图像描述

\n

错误太大我的描述很简短。

\n
one of the following functions can be called with the arguments supplied.\nModule.viewModelOf(() \xe2\x86\x92 TypeVariable(R)) \xc2\xa0\xc2\xa0where R = TypeVariable(R) for  \xc2\xa0\xc2\xa0inline fun <reified R : ViewModel> Module.viewModelOf(crossinline constructor: () \xe2\x86\x92 R): KoinDefinition<R> /* = Pair<Module, InstanceFactory<R>> */ defined in org.koin.androidx.viewmodel.dsl\n
Run Code Online (Sandbox Code Playgroud)\n

有人可以指导我吗?我的项目在Github上谢谢

\n

小智 5

在您的 AppModule.kt 中导入以下内容:

import com.vivek.sportsresult.viewmodel.MainActivityViewModel
Run Code Online (Sandbox Code Playgroud)

您的新 AppModule.kt:

package com.vivek.sportsresult.di

import com.vivek.sportsresult.viewmodel.MainActivityViewModel
import org.koin.androidx.viewmodel.dsl.viewModelOf
import org.koin.dsl.module

val appModule = module {
    viewModelOf(::MainActivityViewModel)
}
Run Code Online (Sandbox Code Playgroud)