2013-03-02 40 views
0

我想使用一個可以輕鬆顯示500個項目的gridview。像每行3行和許多行..我不希望gridview有真正的500個項目。例如,如果屏幕一次顯示15個項目,我希望它重複使用這些項目,並用對應於當前滾動位置的項目替換它們的內容。 (如iOS中的TableView或虛擬化面板,如Windows 8和Windows Phone 8)。在Android中虛擬化項目的滾動gridview的最佳方式是什麼?

想想像這樣一個照片應用程序,它列出了3列中的照片,你甚至可以滾動1000個項目或5000個項目(它只需要用戶自己的時間滾動到那個深處,我只是希望視圖能夠處理與其數量無關的項目)

我該怎麼做?

回答

1

我對你有好消息!適配器模式是爲了這個目的而構建的。

適配器 - 適配器對象充當適配器視圖和該視圖底層數據之間的橋樑。適配器 提供對數據項的訪問。該適配器還負責爲數據集中的每個項目創建一個視圖 。 See here for more


的GridView - GridViewViewGroup顯示在一個二維的,滾動的網格物品。網格項目 使用ListAdapter自動插入到佈局中。對於 介紹如何使用適配器動態插入的意見, 閱讀Building Layouts with an Adapter.

使用在這些網頁上顯示的例子來學習如何使用GridView與適配器,然後修改示例代碼適配器從任何你想要的地方加載你的照片,而不是從R.drawables

請特別注意ListAdapter getView()方法中的部分,尤其是View convertView參數,該參數將傳遞給getView()。如果可能,該參數將成爲「回收」視圖。 (一個完全退出屏幕,因此使用時間更長)因此,通過重新使用它,而不是創建new視圖,每次可以滾動瀏覽數千個項目的列表,同時仍然只使用多少個視圖需要顯示一個完整屏幕的對象。

相關問題