在撰写预览函数中将 Application 对象传递给类

Passing Application object to class in a compose preview function

提问人:JamieRhys 提问时间:7/7/2023 更新时间:7/7/2023 访问量:103

问:

我有以下预览功能:

@Preview(
    name = "Light Mode",
)
@Composable
fun LM_HomePageSecondaryBarPreview() {
    val viewModel = HomePageViewModel(
        projectRepository = ProjectRepository(LocalContext.current.applicationContext as Application)
    )

    ProjectCounterTheme {
        Surface {
            HomePageSecondaryBar(
                viewModel = viewModel
            )
        }
    }
}

正如你所看到的,我需要提供一个 Application 对象。ChatGPT 告诉我执行上述操作,当它尝试构建预览时,我收到以下错误:ProjectRepository

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

我在这里的问题是我需要做什么才能传递给我,以便能够使预览正常工作。ApplicationProjectRepository

安卓 android-jetpack-compose android-jetpack-compose-preview

评论

2赞 Ayman Ait 7/7/2023
首先,请不要使用 ChatGPT 来解决撰写问题,因为撰写是一项新技术,而 GPT 知识在 2021 年就停止了,第二件事是你能为你的 ProjectRepository 提供代码吗,因为我不明白你为什么需要存储库中的上下文

答: 暂无答案