2013-08-01 66 views
0

我需要修改默認的ListView行爲,因此,當一個項目被刪除,適配器notifyDataSetChanged()調用,而不是向上牽拉後的項目我想拉較早的項目(包括隱藏的用戶有已經滾動過去)向下。最終目標是無限可滾動的ListView,爲了記憶保護的原因破壞舊觀點,然後繼續前進。我想知道的是:Android的ListView的刪除行爲

  1. 如何修改此行爲,或...
  2. 如果ListView的設計已經足夠聰明,如果我使用像畢加索或通用圖像裝載機,或更換庫所有隱藏的視圖都有一個虛擬單色`Drawable,它可以處理數百或數千個滾動項目。

在先進的感謝!對於無盡的滾動,我希望做一些類似於herehere

回答

1

我會建議不要與ListView戰鬥。 ListView已經高度優化以節省內存。它不會爲列表中的每個項目添加視圖,而只會填充儘可能多的視圖以填充屏幕,然後在列表滾動時回收這些視圖。 2010年有very good Google I/O lecture,說明ListView的工作原理。你應該看這個並重新思考你的方法。你

也可以使用通用的圖像加載器與ListView。許多人在這個網站上都有許多例子。最常見的模式是「懶惰列表」,你可以閱讀更多關於如果你谷歌(或搜索這裏)。基本上,只有當你需要它們時才加載東西,並摧毀你不需要的東西。這使您可以提供長列表,而不必在託管位圖和其他內容上使用所有內存。