Tyg*_*ris 10 android android-jetpack-compose
我正在尝试迭代List对象,对于每个对象我想显示一个可组合的卡片。问题是您无法从list.forEach{} 括号内调用可组合函数。
代码:
@Composable
fun Greeting(listy : List<SomethingForLater>) {
LazyColumn {
listy.forEach {
//error here
testCard(somethingForLater = it)
}
}
}
@Composable
fun testCard(somethingForLater: SomethingForLater){
val theme = MaterialTheme
Card(shape = theme.shapes.small,backgroundColor = theme.colors.secondary){
Column {
Row {
Text(
text = somethingForLater.task,
modifier = Modifier.padding(start = 5.dp,
top = 3.dp,bottom = 3.dp
),
fontSize = 18.sp,
fontWeight = FontWeight.Bold,
)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*rat 15
有items参数在LazyColumn
LazyColumn {
items(listy) { message ->
testCard(message)
}
}
Run Code Online (Sandbox Code Playgroud)
或者你可以简单地更改LazyColumn为Column
san*_*tds 15
LazyColumn不提供任何可组合的内容。因此,您必须将可组合函数包装在items参数内。
@Composable
fun Greetings(listy : List<SomethingForLater>) {
LazyColumn {
items(listy.size) {
listy.forEach { somethingForLater ->
TestCard(somethingForLater = somethingForLater)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12028 次 |
| 最近记录: |