如果满足特定条件,我希望在LazyColumn下面创建一个列。当我的LazyColumn只有几个可用项时,本专栏就会如预期的那样出现。但是,当LazyColumn获得足够多的可滚动项时,该列将消失。它也不在列表的末尾,它已经消失了(或者在LazyColumn后面?)什么都说不通)。
我什么地方漏了点吗?
Column(
modifier = Modifier.fillMaxSize(),
verticalArrangement = Arrangement.SpaceBetween
) {
val tasks =
viewModel.filteredTasks.value
Log.d(TAG, "Assigned Tasks: ${tasks.size}")
Log.d(TAG, "Active Task: ${viewModel.activeTask.value}")
if (tasks.isNullOrEmpty()) {
Column(
modifier = Modifier.fillMaxSize(),
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally
) {
Text("Keine Aufträge vorhanden")
}
} else {
LazyColumn {
items(tasks.size) { index ->
Column {
ListItem(
modifier = Modifier
.padding(bottom = 8.dp)
.clickable {
viewModel.taskDetailId =
tasks[index].montageTaskId
findNavController().navigate(R.id.action_task_list_to_details)
},
text = {
Text(text = "Auftragsnummer: ${tasks[index].montageTaskId}")
},
secondaryText = {
Column {
Text(
text = stringResource(
R.string.owner_string,
tasks[index].locationOwner?.companyName
?: "Empty..."
)
)
Text(
text = stringResource(
R.string.adress_string,
tasks[index].location.street,
tasks[index].location.number
),
)
}
},
trailing = {
Icon(
imageVector = Icons.Default.KeyboardArrowRight,
contentDescription = "Pfeil nach rechts"
)
}
)
Divider()
}
}
}
}
if (viewModel.hasActiveTask.value) {
Column(
modifier = Modifier
.background(MaterialTheme.colors.primary)
.fillMaxWidth()
.padding(8.dp)
.clickable { navigateToActivity(viewModel.taskDetailId) }
) {
Divider(
thickness = 1.dp
)
Text(text = "Aktiver Auftrag")
Text(text = "Something Something")
}
}
}发布于 2022-04-01 11:29:13
我遵循this answer,通过向您的LazyColumn添加weight(1f)修饰符,解决了这个问题。
https://stackoverflow.com/questions/71705464
复制相似问题