小编Вас*_*гов的帖子

使用撰写导航进行导航时,惰性列会闪烁

我设置了导航、分页并使用流程将 ui 与模型连接起来。如果简化的话,我的屏幕代码如下所示:

@Composable
MainScreen() {
    val listState = rememberLazyListState()
    val lazyItems = Pager(PagingConfig(...)) { ... }
        .flow
        .cachedIn(viewModelScope)
        .collectAsLazyPagingItems()

    LazyColumn(state = listState) {
        items(lazyItems, key = { it.id }) { ... }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的 NavHost 代码:

NavHost(navController, startDestination = "mainScreen") {
    composable("mainScreen") {
        MainScreen()
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我从另一个屏幕导航回主屏幕或只是打开抽屉时,数据会再次从数据源加载,并且我会看到明显的闪烁LazyColumn

如何避免重新加载数据?

lazylist kotlin android-jetpack-compose

1
推荐指数
1
解决办法
2874
查看次数

标签 统计

android-jetpack-compose ×1

kotlin ×1

lazylist ×1