Я использую ViewPager2 версии 1.0.0-бета05, с RecyclerView.Adapter и ZoomOutPageTransformer , я обнаружил, что когда мы вызываем notifyDataSetChanged, представление ViewPager взрывается.
В версии 1.0.0-alpha01 они сказали, что notifyDataSetChanged полностью работоспособен (исправлены ошибки VP1)
Blowed view
Нормальное поведение
pagerAdapter?.clickListener = this
with(pager) {
clipToPadding = false
clipChildren = false
offscreenPageLimit = 3
}
pager.adapter = pagerAdapter
pager.setPageTransformer(ZoomOutPageTransformer())
GlobalScope.launch(Dispatchers.Main) {
// launch a new coroutine in background and continue
repeat(15) {
delay(5000L) // non-blocking delay for 1 second (default time unit is ms)
Log.e("hello", "notify")
pagerAdapter?.notifyDataSetChanged()
}
}
Я не изменил источник данных, я только сделал этот небольшой тест, и проблема все еще сохраняется, размер представления изменялся случайным образом случайно после каждого вызова notifyDataSetChanged.