我使用的是ViewPager2版本1.0.0-beta05,带有RecyclizerView.Adapter和ZoomOutPageTransformer,我发现当我们调用 notifyDataSetChanged时,ViewPager视图会爆炸。
在版本1.0.0-alpha01中,他们说通知数据设置更改功能齐全(解决了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()
}
}
我没有改变数据源,我只是做了这个小测试,问题仍然存在,视图在每次调用通知数据设置更改后被随机调整大小。
您应该阅读 api 文档:
/**
* Sets a {@link PageTransformer} that will be called for each attached page whenever the
* scroll position is changed. This allows the application to apply custom property
* transformations to each page, overriding the default sliding behavior.
* <p>
* Note: setting a {@link PageTransformer} disables data-set change animations to prevent
* conflicts between the two animation systems. Setting a {@code null} transformer will restore
* data-set change animations.
* ...
*/
public void setPageTransformer(@Nullable PageTransformer transformer) {}
要修复它,请尝试重置页面转换器:
pager.setPageTransformer(null)
adapter.notifyDataSetChanged()
pager.setPageTransformer(myPageTransformer)
你找到解决办法了吗?
对我来说,我必须调用< code > view page 2 的< code>requestTransform()函数。但是我需要在adatper之后< code>post函数调用。< code > 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()
}
希望这有帮助。
问题内容: 当我使用session_destroy()时,出现“会话对象销毁失败”的消息。 是什么导致此错误? 问题答案: 错误: 警告:session_destroy():会话对象销毁失败 这相当琐碎,没有会话 已启动, 对象已提交,因此您无法销毁它。 该运营商并不总是有效的,例如用错误报告功能。 编辑: 1)导致此错误的原因是什么? 此错误通常是由于PHP尝试删除会话文件而导致的,但找不到它。
本文向大家介绍梯度爆炸会引发什么?相关面试题,主要包含被问及梯度爆炸会引发什么?时的应答技巧和注意事项,需要的朋友参考一下 在深度多层感知机网络中,梯度爆炸会引起网络不稳定,最好的结果是无法从训练数据中学习,而最坏的结果是出现无法再更新的 NaN 权重值。 梯度爆炸导致学习过程不稳定。—《深度学习》,2016. 在循环神经网络中,梯度爆炸会导致网络不稳定,无法利用训练数据学习,最好的结果是网络无法
我已经创建了一些Spring批处理项目,并使用Spring Cloud Data Flow(SCDF)部署了这些作业。 在SCDF中启动任务(作业)后,创建JVM执行任务(作业)。 但是,当任务完成时,JVM并不结束。它仍然存在。 当我启动作业20次时,它宣布 并且有一些关于我的作业的信息,作业的第一个日志是以: 但是在我为Spring批处理项目使用了以下属性之后: 并使用JobExecution
问题内容: 我有一个设置为启动Java活动(称为MyJavaActivity)的android应用,这反过来又会启动NativeActivity。NativeActivity完成后,它将返回到MyJavaActivity。 我还有一个Java单例类(称为MyJavaSingleton),我希望在应用程序的整个生命周期中都将其保留在内存中。我从NativeActivity(使用JNI)中设置了一些单
问题内容: 我想从包含单词列表的DataFrame转换为每个单词都在其自己行中的DataFrame。 如何在DataFrame中的列上爆炸? 这是我尝试的一些示例,您可以在其中取消注释每个代码行并获取以下注释中列出的错误。我在带有Spark 1.6.1的Python 2.7中使用PySpark。 请指教 问题答案: 和是SQL函数。两者都在SQL上运行。将Java正则表达式作为第二个参数。如果要在
C++20引入了“destroying”(带有标记类型),是的新重载。 这到底是什么,什么时候有用?