6 android kotlin android-pagetransformer android-recyclerview android-viewpager2
我使用的是ViewPager2版本 1.0.0-beta05,带有 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()
}
}
Run Code Online (Sandbox Code Playgroud)
我没有改变数据源,我只是做了这个小测试,问题仍然存在,每次调用notifyDataSetChanged后,视图都会被随机调整为丑陋的。
你找到解决办法了吗?
对我来说,我必须调用 的ViewPager2函数requestTransform()。但我需要post在 adatper 之后调用函数。notifyDataSetChanged()。
...
adapter.notifyDataSetChanged()
vb.viewpager.post {
// I am using Fragment, and I get some crashes while I am switching tabs/fragments,
// so here I reference the `nullable` _vb property
_vb?.viewpager?.requestTransformation()
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
758 次 |
| 最近记录: |