我尝试将一个简单的 viewModel 移交给可组合项,并且每次都会出现此错误,但我不知道这意味着什么:
java.lang.IllegalStateException: Given component holder class com.example.app.MainActivity does not implement interface dagger.hilt.internal.GeneratedComponent or interface dagger.hilt.internal.GeneratedComponentManager
我的摇篮:
implementation("androidx.hilt:hilt-navigation:1.0.0-beta01")
implementation("androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03")
Run Code Online (Sandbox Code Playgroud)
我已经创建了一个BaseApplication文件
import android.app.Application
import dagger.hilt.android.HiltAndroidApp
@HiltAndroidApp
class BaseApplication: Application()
Run Code Online (Sandbox Code Playgroud)
并将其设置在清单中。
我创建了一个AppModule文件:
import android.content.Context
import com.veloce.montageservice.BaseApplication
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton
@Module
@InstallIn(SingletonComponent::class)
object AppModule {
@Singleton
@Provides
fun provideApplication(@ApplicationContext app: Context): BaseApplication {
return app as BaseApplication
}
}
Run Code Online (Sandbox Code Playgroud)
@HiltAndroidApp然后在我的中设置MainActivity并创建一个viewModel像这样的:
@HiltViewModel
class TaskViewModel: ViewModel() …Run Code Online (Sandbox Code Playgroud) 我今天开始使用 Android Jetpack Compose。一开始一切都很好。在某些课程中,您只需注意是否获得正确的软件包即可。但在某些时候我搞砸了一些事情,我不知道是什么。我只想导入一个包,然后弹出一些上下文菜单,我不小心按下了“确定”,从那时起,当我从 compose 包编写一个类时,“导入”就不再出现了。
我确实关闭了一个选项,但我不知道是什么。谁能帮我这个?