从展示示例ShowMorePagerPanel中,我可以看到这一行
display.setVisibleRange(0, newPageSize);这是否意味着我们每次滚动时,从0到max的所有项都将被重复检索和显示?我们如何才能使它只检索后续的新项,并将缓存用于所有以前的旧项(从0开始)?这个是可能的吗?有人能在这方面给我指点吗?
发布于 2011-02-25 16:06:11
是,display.setVisibleRange(0, newPageSize)将显示所有内容,直到达到最大值。这确实是ShowMorePagerPanel的目的所在
对于你想要的东西,如果我没理解错的话,你只需要像display.setVisibleRange(newPageSize - incrementSize, newPageSize)这样的东西
然而,我猜这将是一个奇怪的用户界面。如果你只需要一次显示X个元素,最好使用一个包含X个可见元素的表格,然后在界面中添加一个带有“后退”和“下一步”按钮的导航栏来“滚动”。您可以在gwt Mail Application示例中看到这方面的示例。该示例还向您展示了如何处理最后一个可能少于X个元素的切片(简单地将行设置为不可见)
--
如果你仍然想使用ShowMorePagerPanel,你可能想修改它来实现一个实际的分页,也就是说,有一些机制来只在内存中保留你现在正在显示的项目(处理滚动事件),也许还会在当前显示之前和之后保留这些项目,以使滚动更加平滑。如果内存使用是一个问题,这一点很重要。
https://stackoverflow.com/questions/5114535
复制相似问题