我正在使用版本为1.0.0-beta05的ViewPager2,搭配RecyclerView.Adapter和ZoomOutPageTransformer。当我们调用notifyDataSetChanged时,ViewPager的视图会崩溃。
在版本1.0.0-alpha01中,他们说notifyDataSetChanged已经完全正常运行(解决了VP1的缺陷)。
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后,视图会随机地被重置为丑陋的大小。