我有一个地址列表,我希望我的用户只选择一个地址进行运输
您只需要跟踪选择索引即可。
@Composable
fun SingleSelectionList() {
var selectedIndex by remember {
mutableStateOf(-1)
}
LazyColumn(
Modifier
.fillMaxSize()
.selectableGroup() // Optional, for accessibility purpose
) {
items(count = 10) { index ->
Text(
text = "Item $index",
Modifier
.fillMaxWidth()
.selectable(
selected = selectedIndex == index,
onClick = {
selectedIndex = index
}
)
.background(
if (selectedIndex == index) Color.Gray
else Color.Transparent
)
.padding(8.dp)
)
}
}
}
如果你想允许取消选择,你改变
onClick
为:
selectedIndex = if (selectedIndex == index) -1 else index