在 Jetpack Compose 中将应用程序传递给 ViewModel

Passing Application to ViewModel in Jetpack Compose

我在 @composable 函数中有以下内容。我在预览时遇到错误。我也不确定这是否适用于设备。

val context = LocalContext.current
val noteTrainerViewModel = NoteTrainerViewModel(context.applicationContext as Application)

这里是错误:

java.lang.ClassCastException: class com.android.layoutlib.bridge.android.BridgeContext cannot be cast to class android.app.Application

发生这种情况是因为在预览中没有 Application 运行ning。您不能在预览

期间使用依赖于 Application 的方法

在真实的 运行 上,此代码可以正常工作