【发布时间】:2021-07-28 10:48:35
【问题描述】:
我将 lambda 传递给可组合对象以在 Modifier.clickable 上触发,但编译器警告“表达式未使用”
为什么会发生这种情况以及如何纠正它?很奇怪?
Screenshot of compiler warning
@Composable
fun MainScreen(dateVM: DateViewModel = DateViewModel(), dateList: List<DateList>) {
val dayIndexState = remember {
mutableStateOf(0)
}
Column {
ShowDateScroll(dateIndex = dayIndexState.value) {
newDateIndex -> dayIndexState.value = newDateIndex
}
}
}
@Composable
fun ShowDateScroll(
dateIndex: Int,
dateIndexUpdate: (newIndexState: Int) -> Unit
) {
LazyRow(
modifier = Modifier
.fillMaxWidth()
.background(Color.LightGray),
horizontalArrangement = Arrangement.spacedBy(25.dp)
) {
items(items = dateList, itemContent = { dateItem ->
Column(
horizontalAlignment = Alignment.CenterHorizontally,
modifier = Modifier
.clickable(
role = Role.Button
) {
dateIndexUpdate
}
) {
Text(
text = dateItem.dow
)
Text(
text = dateItem.day.toString(),
)
}
})
}
}
【问题讨论】:
标签: android kotlin android-jetpack-compose