当滚动太快时,带有外部滚动的新gridview组件会引入空帧

时间:2014-08-08 13:47:22

标签: android android-layout android-gridview android-adapter

你好

感谢您查看我的主题!我不会深入探讨为什么我创建了这个组件,但我可以安全地说明我需要的具体应用程序:)

组件非常大,所以我使用了pastebin来实现这个目的:http://pastebin.com/6jcmySr3

问题

这里的问题不是你所期望的。与Android提供的原始ScrollView相比,该组件可以作为外部GridView组件使用。正常滚动,它会将适配器项正确更新到您希望它们具有的位置。我遇到的问题是,如果你滚动得太快,项目的新位置可能最终会出错,我无法弄清楚原因。

到目前为止,我的猜测是newItemLocation-variable在滚动时更新得太快,应该移动视图的位置是错误的,或者通过getView的视图更新逻辑更新太慢。在这种情况下,我真的没有任何解决方案。有人能指出我正确的方向吗?

谢谢!

*编辑:我也在我的适配器中使用ViewHolder模式,因此不是因为:)

1 个答案:

答案 0 :(得分:0)

我得到了与你类似的问题,网格视图将变为空或其他奇怪的情况(比如在使用像etsy一样的StaggeredGrideView时只显示一边没有另一边),所以我找到一个可以大大减少机会发生这个问题,你可以尝试在你的GridView项目中设置你的TextView的最小高度,如android:minLines =“n”或android:singleLine =“true”(如果你)。这意味着渲染TextView的高度时可能会出现问题。试试吧〜=) 你也可以参考这篇文章==> Android: Gridview going blank while scrolling fast