IllegalArgumentException при использовании Int.MAX_VALUE в качестве размера страницы в Jetpack, создающем HorizontalPage ⇐ Android
-
Гость
IllegalArgumentException при использовании Int.MAX_VALUE в качестве размера страницы в Jetpack, создающем HorizontalPage
Я реализовал бесконечную прокрутку HorizontalPager в Jetpack Compose. Первоначально все работало нормально, но недавно я получаю ошибку (java.lang.IllegalArgumentException: невозможно привести значение к пустому диапазону: максимум -1564,0 меньше минимума 0,0) при прокрутке пейджера. Я даже не знаю, когда это произошло.
Пример кода
val listSize = exploreList.size val pageCount = Int.MAX_VALUE val maxRounds = pageCount / listSize val InitialPage = (maxRounds / 2) * listSize вал PagerState = RememberPagerState(initialPage = InitialPage, pageCount = {pageCount}) ГоризонтальныйПейджер( состояние = состояние пейджера, модификатор = Modifier.fillMaxWidth(), contentPadding = PaddingValues(горизонтальный = 54.dp), ) { val страница = это % exploreList.size val id = exploreList.getOrNull(page)?.id ?: 0 val posterPath = exploreList.getOrNull(page)?.posterPath ExploreListItem( постерПуть = постерПуть, модификатор = Модификатор .fillMaxWidth() .aspectRatio(4F/5F) .carousalTransition(it, pagerState), onClick = { NavigationToMovieDetails (id) }, ) } Подробности о версии Версия составления спецификации: 2023.10.01
Версия Kotlin: 1.9.21
На данный момент я заменил Int.MAX_VALUE постоянным значением, например: val pageCount = 1000. Здесь нет проблем.
Как решить эту проблему?
Я реализовал бесконечную прокрутку HorizontalPager в Jetpack Compose. Первоначально все работало нормально, но недавно я получаю ошибку (java.lang.IllegalArgumentException: невозможно привести значение к пустому диапазону: максимум -1564,0 меньше минимума 0,0) при прокрутке пейджера. Я даже не знаю, когда это произошло.
Пример кода
val listSize = exploreList.size val pageCount = Int.MAX_VALUE val maxRounds = pageCount / listSize val InitialPage = (maxRounds / 2) * listSize вал PagerState = RememberPagerState(initialPage = InitialPage, pageCount = {pageCount}) ГоризонтальныйПейджер( состояние = состояние пейджера, модификатор = Modifier.fillMaxWidth(), contentPadding = PaddingValues(горизонтальный = 54.dp), ) { val страница = это % exploreList.size val id = exploreList.getOrNull(page)?.id ?: 0 val posterPath = exploreList.getOrNull(page)?.posterPath ExploreListItem( постерПуть = постерПуть, модификатор = Модификатор .fillMaxWidth() .aspectRatio(4F/5F) .carousalTransition(it, pagerState), onClick = { NavigationToMovieDetails (id) }, ) } Подробности о версии Версия составления спецификации: 2023.10.01
Версия Kotlin: 1.9.21
На данный момент я заменил Int.MAX_VALUE постоянным значением, например: val pageCount = 1000. Здесь нет проблем.
Как решить эту проблему?
Мобильная версия