Код: Выделить всё
kotlin.ranges.RangesKt___RangesKt.coerceIn (_Ranges.kt:1428)
PagerState.performScroll (PagerState.java:240)
Код: Выделить всё
val scrollModifier = Modifier.verticalScroll(scrollState)
val pagerState = rememberPagerState(
initialPage = startPage.coerceIn(0, (itemList.size - 1).coerceAtLeast(0))
) { itemList.size }
if (itemList.isNotEmpty()) {
HorizontalPager(
state = pagerState,
pageSpacing = 16.dp,
contentPadding = PaddingValues(horizontal = 24.dp, vertical = 32.dp),
snapPosition = SnapPosition.Center,
userScrollEnabled = true,
verticalAlignment = Alignment.Top,
modifier = Modifier
.background(color = MaterialTheme.colors.background)
.semantics {
role = Role.Carousel
testTagsAsResourceId = true
}
.then(scrollModifier)
) { pageIndex ->
itemList.getOrNull(pageIndex)?.let {
ItemDetailComponent(
modifier = Modifier
)
}
}
}
Код: Выделить всё
Card(
shape = CustomShape(circleRadius = 12.dp, cornerSize = CornerSize(10.dp)),
elevation = 2.dp,
modifier = modifier.fillMaxWidth()
) { ... }
Эта часть трассировки стека сбоев отличается в зависимости от данных:
Код: Выделить всё
maximum 0 is less than minimum 7Мои вопросы:
- Каковы распространенные причины сбоя coerceIn внутри PagerState.performScroll при использовании HorizontalPager?
- Существуют ли лучшие практики для этого использование PagerState с динамическим содержимым, которое могло бы объяснить, почему этот сбой происходит только в рабочей среде, но не во время моего локального тестирования?
Подробнее здесь: https://stackoverflow.com/questions/797 ... e-to-an-em
Мобильная версия