Compose、ViewModel、Android Studio、Preview、无法预览
举compose的 官方文档案例
开一个preview
@Preview
@Composable
fun PreviewHelloScreen() {
Demo2Theme {
Surface(color = MaterialTheme.colors.background) {
HelloScreen()
}
}
}
在是无法在android studio中正常预览的
java.lang.IllegalStateException: ViewModels creation is not supported in Preview
因为通过默认值在运行时动态获取ViewModel的方法,无法在预览中实现。
所以preview需要改一下HelloScreen()
→ HelloScreen(HelloViewModel())
通过手动创建一个ViewModel实例来模拟