FragmentStateAdapter引发java.lang.IllegalStateException:配置更改后违反了设计假设 [英] FragmentStateAdapter throws java.lang.IllegalStateException: Design assumption violated after configuration change
本文介绍了FragmentStateAdapter引发java.lang.IllegalStateException:配置更改后违反了设计假设的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
FragmentStateAdapter引发
FragmentStateAdapter throws
java.lang.IllegalStateException:违反了设计假设,
java.lang.IllegalStateException: Design assumption violated,
旋转设备时.我该如何解决这个问题?
when the device is rotated. How do I resolve this issue ?
private inner class PagerAdapter : FragmentStateAdapter(this) {
private val ids = LongSparseArray<Media>()
override fun getItemCount(): Int = adapter.itemCount
override fun getItemId(position: Int): Long {
return adapter.source!![position].time
}
override fun containsItem(itemId: Long): Boolean {
return ids[itemId] != null
}
}
例外
java.lang.IllegalStateException: Design assumption violated.
at androidx.viewpager2.adapter.FragmentStateAdapter.placeFragmentInViewHolder(FragmentStateAdapter.java:270)
at androidx.viewpager2.adapter.FragmentStateAdapter.onViewAttachedToWindow(FragmentStateAdapter.java:259)
at androidx.viewpager2.adapter.FragmentStateAdapter.onViewAttachedToWindow(FragmentStateAdapter.java:68)
推荐答案
此问题已在ViewPager2
您需要使用 Version 1.0.0-beta03
>
更新ViewPager2
的dependencies
dependencies {
implementation 'androidx.viewpager2:viewpager2:1.0.0-beta03'
}
错误修复
- 修复具有临时Fragment状态的FragmentStateAdapter问题. b/134246546
- Fix for FragmentStateAdapter issue with transient Fragment state. b/134246546
这篇关于FragmentStateAdapter引发java.lang.IllegalStateException:配置更改后违反了设计假设的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文