首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.lang.IllegalStateException:在Jetpack组合中滚动分页延迟列时,应将LayoutNode附加到所有者

java.lang.IllegalStateException:在Jetpack组合中滚动分页延迟列时,应将LayoutNode附加到所有者
EN

Stack Overflow用户
提问于 2022-04-27 15:52:27
回答 1查看 778关注 0票数 0

当我滚动列表时,我使用带有分页3的LazyColumn加载联系人,有时它会抛出以下异常

代码语言:javascript
复制
java.lang.IllegalStateException: LayoutNode should be attached to an owner
        at androidx.compose.ui.node.LayoutNodeKt.requireOwner(LayoutNode.kt:1407)
        at androidx.compose.ui.node.ModifierLocalConsumerNode.notifyConsumerOfChanges(ModifierLocalConsumerNode.kt:42)

以下是LazyColumn的代码:

代码语言:javascript
复制
val contactsFlow= viewModel.fetchContacts(context)
val lazyContacts = contactsFlow.collectAsLazyPagingItems()
    LazyColumn(
        modifier = Modifier.padding(top = 8.dp),
        verticalArrangement = Arrangement.spacedBy(8.dp)) {
        items(lazyContacts) { contact ->
            if(contact != null)
            {
                Contact(contact = contact, onContactClick = {
                    viewModel.addMemberFrom(it) { member ->
                        onContactClick(member)
                    }
                })
            }
        }
    }

以下是viewModel代码:

代码语言:javascript
复制
fun fetchContacts(context: Context): Flow<PagingData<Contact>> {
        return Pager(
            PagingConfig(10, enablePlaceholders = true, initialLoadSize = 20)
        ) {
            ContactsPagingSource(contactManager, context)
        }.flow.cachedIn(viewModelScope)

    }
EN

回答 1

Stack Overflow用户

发布于 2022-08-07 11:37:15

在使用LazyColumn中的项列表时,不能跳过带有空检查的项。试着在你的“联系人”中展示一些东西。它可以是“加载”或默认值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72031803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档