我在Android上實現了一個簡單的無限滾動GridView。我有以下組成部分:Android無限滾動網格,適配器是否必須無限增長?
- 與onScrollListener,每當GridView控件滾動到最底部一個GridView,我揭開序幕的的AsyncTask到更多的項目加載到我的適配器。
- 一個適配器,用於附加從AsyncTask獲取的項目,並觸發notifyDataChanged(),以便GridView自行刷新。
這似乎工作正常,除非在這種情況下適配器正在無限增長......我的意思是我一直追加項目到這個適配器每當用戶滾動到最後,這似乎是一個內存問題。
實現無限適配器的正確方法是什麼?我正在尋找概念,而不是第三方的jar,它爲我做。
感謝
解決方案
被標記的答案有正確的理論。我的實現將加載的數據備份到sqllite數據庫中,因此總體流程是:從線程的互聯網下載數據,將數據解析並存儲到線程的數據庫中,在UI線程上觸發notifyDataChanged。
適配器的getCount()方法只需從數據庫中執行一個select count(id),並從數據庫中一次檢索一批對象到適配器使用的內存中。
嗨。通過任何你解決這個問題的機會,並可以發佈一些代碼? – OWADVL
是的,我把我最後的做法放在*解決方案* – Chao