如何使用 jetpack 与 LazyVerticalGrid 组合分页

时间:2021-07-19 19:00:42

标签: android android-jetpack-compose android-paging-3

我正在尝试使用 LazyVerticalGrid 显示分页项目。我正在尝试的代码如下所示。

assertEquals(mvcResult.getResolvedException().getClass().getName(), "org.springframework.web.bind.MissingServletRequestParameterException");

请注意,我已经导入了 val categories = repo.categories.collectAsLazyPagingItems() LazyVerticalGrid( cells = GridCells.Fixed(2), modifier = Modifier.padding(8.dp) ) { items(categories) { category -> Box(Modifier.padding(8.dp)) { CategoryView(category) } } } androidx.paging.compose.itemsandroidx.paging.compose.collectAsLazyPagingItems 也是 categories 类型。

它与 LazyPagingItems<Category>LazyColumn 完美配合,但不适用于 LazyRow。 我得到的错误是:

LazyVerticalGrid

1 个答案:

答案 0 :(得分:1)

我想出了一个解决方案,为 LazyGridScope 编写一个扩展函数,就像在 LazyListScope 库中为 androidx.paging:paging-compose 编写的那个函数一样。

@ExperimentalFoundationApi
public fun <T: Any> LazyGridScope.items(
    lazyPagingItems: LazyPagingItems<T>,
    itemContent: @Composable LazyItemScope.(value: T?) -> Unit
) {
    items(lazyPagingItems.itemCount) { index ->
        itemContent(lazyPagingItems.getAsState(index).value)
    }
}