【发布时间】:2019-08-05 05:04:01
【问题描述】:
FragmentStateAdapter 抛出
java.lang.IllegalStateException:违反设计假设,
当设备旋转时。我该如何解决这个问题?
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)
【问题讨论】:
-
发布你的 gradle 文件
-
错误日志指向
FragmentStateAdapter中的方法placeFragmentInViewHolder中的错误,该错误在您的代码中丢失。请在您的代码中包含该方法。
标签: android kotlin android-gradle-plugin android-viewpager2