2011-02-25 119 views
0

從櫥窗演示,ShowMorePagerPanel,我能看到這條線CellList無限滾動

display.setVisibleRange(0, newPageSize); 

這是否每次我們滾動時的意思是,從0到max所有項目將繼續反覆檢索和顯示?我們如何才能使它只檢索後續的新項目並使用緩存中的所有以前的舊項目(從0開始)?這可能嗎?任何人都可以指導我嗎?

回答

1

是的,display.setVisibleRange(0, newPageSize)將顯示所有,直到達到最大值。那的確是ShowMorePagerPanel

的目的,你想要的東西,如果我理解正確的,你只需要像display.setVisibleRange(newPageSize - incrementSize, newPageSize)

不過,我想這會是一個奇怪的用戶界面。如果您只需要一次顯示X個元素,最好只使用一個帶有X個可見元素的表格,然後在界面中添加一個帶有「後退」和「下一個」按鈕的導航欄以「滾動」。你可以在gwt Mail Application例子中看到這個例子。這個例子還說明了如何處理這可能比X元素少(簡單地使反正行不可見的)最後的片

-

如果你還是想出去ShowMorePagerPanel,你可能需要修改它實現一個實際的尋呼機,也就是說,有一些機制只保留你現在正在顯示的項目(處理滾動事件),也許還要保留這些項目前後的當前顯示,以使滾動更順暢。如果內存使用是一個問題,這很重要。

+0

如果我繼續調用display.setVisibleRange(0,newPageSize),則表示我將獲得與以前的調用相同的元素,而不是緩存。不,我不想像你建議的那樣做頁面分頁。我喜歡做像twitter這樣的界面。所以我的問題是無論如何緩存這些元素,而不是繼續調用display.setVisibleRange(0,newPageSize) – cometta 2011-02-25 09:16:54

+0

「 - 」後面的最後一段回答你的問題;也關於BT不做的緩存。實際上_display.setVisibleRange(0,newPageSize)_只在用戶向下滾動到當前限制時調用,當他向上滾動或在中間向下滾動時纔會調用_display.setVisibleRange(0,newPageSize)。 – juanmirocks 2011-02-25 10:27:00