gpt4 book ai didi

android - 如何在 jetpack compose 的 LazyColumn 中使用 LazyColumn?

转载 作者:行者123 更新时间:2023-12-03 07:59:32 30 4
gpt4 key购买 nike

我收到此错误消息,但我不明白。

java.lang.IllegalState

Exception: Vertically scrollable component was measured with aninfinity maximum height constraints, which is disallowed. One of thecommon reasons is nesting layouts like LazyColumn andColumn(Modifier.verticalScroll()). If you want to add a header beforethe list of items please add a header as a separate item() before themain items() inside the LazyColumn scope. There are could be otherreasons for this to happen: your ComposeView was added into aLinearLayout with some weight, you appliedModifier.wrapContentSize(unbounded = true) or wrote a custom layout.Please try to remove the source of infinit

滚动容器上方层次结构中的约束。

这是示例代码。

@Composable
fun SupplementSearchScreen(
onSearch: (String) -> List<Vitamin>,
updateRecentAddedSupplementList: List<Vitamin>
) {

LazyColumn(
modifier = Modifier
.fillMaxSize()
) {
item{
SupplementSearchResultCard(someList)
}
}
}

@Composable
fun SupplementSearchScreen(list:List<SomeList>){
ContentCard(
modifier = Modifier.fillMaxWidth()
) {
Text(
text = "Hello World",
fontSize = 16.sp,
color = Color.Black
)
LazyColumn(
modifier = Modifier
.fillMaxWidth()
.wrapContentHeight()
) {
items(list){ resultItem ->
SearchResultItem(resultItem)
}
}
}
}

这里出了什么问题?

最佳答案

惰性列需要固定高度组件作为父组件来实现惰性行为,如果使用修饰符 Modifier.verticalScroll() 或另一个 Lazy 列在父级中添加惰性列,它将获得无限高度,它将无法决定何时组合以及何时处置可组合项,而是使用惰性列 block 的 items{}

在 xml 中,如果将 recyclerview 包裹在嵌套 ScrollView 中,也会出现相同的问题,但在 xml 中,它不会显示错误,而是会导致 ANR,因为 Recycler View 适配器中的项目增加

关于android - 如何在 jetpack compose 的 LazyColumn 中使用 LazyColumn?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74846095/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com