从展示演示 ShowMorePagerPanel
中,我可以看到这一行
display.setVisibleRange(0, newPageSize);
这是否意味着每次滚动时,从 0 到 max
的所有项目都会继续重复检索和显示?我们怎样才能让它只检索后续的新项目并使用缓存来存储所有以前的旧项目(从0开始)?这可能吗?有人可以指导我吗?
最佳答案
是的,display.setVisibleRange(0, newPageSize)
将显示所有内容,直到达到最大值。这确实是 ShowMorePagerPanel 的目的
对于你想要的,如果我理解正确的话,你只需要类似 display.setVisibleRange(newPageSize -incrementSize, newPageSize)
但是我想这将是一个奇怪的用户界面。如果您只需要一次显示 X 个元素,最好仅使用包含 X 个可见元素的表格,然后在界面中添加带有“后退”和“下一个”按钮的导航栏以进行“滚动”。您可以在 gwt 邮件应用程序示例中看到这样的示例。该示例还向您展示了如何处理可能少于 X 个元素的最后一个切片(只是使行不可见)
--
如果您仍然想使用 ShowMorePagerPanel,您可能需要修改它以实现实际的分页器,也就是说,有某种机制只将您现在正在显示的项目(处理滚动事件)保留在内存中,也许还可以将这些项目保留在当前显示之前和之后,以使滚动更平滑。如果内存使用存在问题,这一点很重要。
关于java - CellList无限滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5114535/