【问题标题】:How to preview LazyPagingItems/Paging 3 Library in Jetpack Compose如何在 Jetpack Compose 中预览 LazyPagingItems/Paging 3 库
【发布时间】:2021-07-29 06:48:27
【问题描述】:

我认为标题说明了一切。

LazyPagingItems 构造函数是内部的。我无法在 Preview Composable 中将 LazyPagingItems 作为参数传递,更不用说传递示例数据了。但是我想显示我的可组合的预览,我应该怎么做?

@Composable
fun MainUi(users: LazyPagingItems<User>) {
    Scaffold {
        LazyColumn() {
            items(users) {
                // Rest of the code..
            }
        }
    }
}

@Preview
@Composable
fun Preview() {
    DefaultTheme {
        MainUi(users = ) // How to pass sample data here?
    }
}

【问题讨论】:

  • 我相信现在没有办法做到这一点,因为 LazyPagingItems 是基于 LaunchedEffect 并且似乎与 Preview 不合作

标签: android-jetpack-compose android-jetpack-compose-list


【解决方案1】:

你可以使用PagingData.empty()PagingData.from(List&lt;T&gt;),像这样:

@Preview
@Composable
fun Preview() {
    DefaultTheme {
        MainUi(users = flowOf(PagingData.from(listOf(User(..)))).collectAsLazyPagingItems()
    }
}

我不确定这些项目是否显示在预览中,但至少你可以渲染它...

【讨论】:

  • 很遗憾它们没有在预览中显示
  • 其实我已经在 Google Issue Tracker here 中填写了一个问题。我现在可以构建它,但未显示列表。
  • 是否至少计划在未来修复?我看到问题跟踪器根本没有回答
猜你喜欢
  • 2023-02-12
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 2021-10-13
  • 2021-04-26
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多