我正在尝试使用 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.items
。 androidx.paging.compose.collectAsLazyPagingItems
也是 categories
类型。
它与 LazyPagingItems<Category>
和 LazyColumn
完美配合,但不适用于 LazyRow
。
我得到的错误是:
LazyVerticalGrid
答案 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)
}
}