При быстрой прокрутке lazycolumn не удается загрузить изображение и даже заполнитель. Пробовал использовать Coil, но проблема та же самая с Box {Image}, SubComposeAsyncImage, AsyncImage. Изображение всех трех вариантов не загружается с сервера.
class CharactersPagingSource(
private val apiInterface: ApiInterface
) : PagingSource() {
override suspend fun load(params: LoadParams): LoadResult {
return try {
val nextPage = params.key ?: 1
val response = apiInterface.getPagedCharacters(page = nextPage)
LoadResult.Page(
data = response.results,
prevKey = if (nextPage == 1) null else nextPage - 1,
nextKey = if (response.results.isEmpty()) null else nextPage + 1
)
} catch (e: Exception) {
LoadResult.Error(e)
}
}
override fun getRefreshKey(state: PagingState): Int? {
return state.anchorPosition?.let { anchorPos ->
state.closestPageToPosition(anchorPos)?.prevKey?.plus(1) ?: state.closestPageToPosition(
anchorPos
)?.nextKey?.minus(1)
}
}
}
Я пытался заставить его работать с помощью AyncImage, создав собственный ManualImageLoader и SubcomposeasyncImage. Это известная проблема с Compose или с реализацией?
При быстрой прокрутке lazycolumn не удается загрузить изображение и даже заполнитель. Пробовал использовать Coil, но проблема та же самая с Box {Image}, SubComposeAsyncImage, AsyncImage. Изображение всех трех вариантов не загружается с сервера. [code]@Composable fun CharactersList( modifier: Modifier = Modifier, viewModel: MainActivityViewModel = hiltViewModel() ) { val lazyPagingItems = viewModel.pagingDataFlow.collectAsLazyPagingItems()
SubcomposeAsyncImage( model = item.image, contentDescription = null, modifier = Modifier .padding(vertical = 10.dp) .size(80.dp) .clip(CircleShape), loading = { // This is ALREADY centered inside the image area by Coil Cir
override fun getRefreshKey(state: PagingState): Int? { return state.anchorPosition?.let { anchorPos -> state.closestPageToPosition(anchorPos)?.prevKey?.plus(1) ?: state.closestPageToPosition( anchorPos )?.nextKey?.minus(1) } } } [/code] Я пытался заставить его работать с помощью AyncImage, создав собственный ManualImageLoader и SubcomposeasyncImage. Это известная проблема с Compose или с реализацией?