在我的应用程序中,我有LazyColumn显示的项目列表。我的列表可以更新字段,有时还可以重新排序项目。每当我有重新排序的项目,我需要显示列表的第一个项目在顶部。我想出了像下面这样的设置。列表仅在第一个重新排序事件时滚动到顶部。在使用reorder = true连续更新列表时,我的列表不会滚动到顶部。在Compose中,通过从ViewModel发送状态来重置列表滚动位置(甚至强制重建compose列表)的更好的方法是什么?
class ViewItemsState(val items: List<ViewItem>, val scrollToTop: Boolean)
class
当我滚动列表时,我使用带有分页3的LazyColumn加载联系人,有时它会抛出以下异常
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(ModifierLocal
我从服务器获取数据并显示在列表中,每一项都可以通过单击来显示按钮,但是我不能关闭它,只能打开它。
这是列表类的项。
data class Task(
val deviceName: String,
val deviceId: String,
var selected :Boolean= Boolean,
)
这是数据类
data class TaskStatus(
val taskList: SnapshotStateList<Task> = SnapshotStateList(),
val selectedNumber: Int = -1