android - @Composable 调用只能在 @Composable 函数中显示的 @Composable 函数错误的上下文中发生
问题描述
我的@Composable
注释有问题。我在一个@Composable
函数中,但它在这里显示一个错误:
Column {
Text(
text = "Rutinas",
style = TextStyle(fontSize = 28.sp, fontWeight = FontWeight.ExtraBold),
modifier = Modifier.padding(16.dp)
)
我想这是因为我在做的时候正在改变上下文.let
,但我不知道如何解决它。
完整代码:
@Composable
fun RutinaList(
rutinasViewModel: RutinasViewModel = viewModel(
factory = RutinasViewModelFactory(
RutinasRepository()
)
)
) {
val rutinasList = rutinasViewModel.getRutinasInfo().collectAsState(initial = null).value
val listOfRutinas = rutinasList.querySnapshot?.toObjects(Rutina::class.java)
listOfRutinas?.let { rutina ->
Column {
Text(
text = "Rutinas",
style = TextStyle(fontSize = 28.sp, fontWeight = FontWeight.ExtraBold),
modifier = Modifier.padding(16.dp)
)
LazyColumn(modifier = Modifier.fillMaxHeight()) {
items(listOfRutinas) {
Card(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp),
shape = RoundedCornerShape(16.dp)
) {
RutinaDetails(rutina)
}
}
}
}
}
}
解决方案
推荐阅读
- node.js - Electron 无法从 node_modules 文件夹打开共享对象文件
- sql - Oracle 中的增量 ID
- emeditor - 如何按多个条件过滤?
- mysql - 表的导出选项(过程的结果)在 phpmyadmin 中消失
- chef-infra - 更改 Chef 运行的目录
- python - Python:使用 matplotlib 的时间序列类可视化
- r - MatrixEQTL:协变量文件格式/错误
- maven-3 - 从多个配置文件组合后,Maven antrun 插件缺少目标任务
- docker-compose - 初始化 Apache 气流泊坞窗时没有名为“气流”的模块
- c - SDL 音频捕获回调比播放慢