2010-11-30 80 views
3

所以我對構成我的ListView的不同部分有問題。我把它們放到一個ArrayList中,並使用一個自定義的ArrayAdapter來連接到之前完成的ListView,所以我不相信這裏有問題。最初該列表似乎具有正確順序的部分,但隨後我將向下滾動列表,然後內容將以不正確的順序加載。然後我回滾起來,一切都混亂了。有沒有人遇到過這個?ListView的內容在滾動屏幕上滾動

感謝 -Jake

+1

你重寫你的適配器的getview方法?如果是這樣,請展示你在做什麼。 – 2010-11-30 21:18:46

+0

傑克,我有同樣的問題,我在這裏找到解決方案:http://stackoverflow.com/questions/2955218/listview-in-arrayadapter-order-gets-mixed-up-when-scrolling?rq=1 – Reiksiel 2013-11-09 15:49:37

回答

5

是你的問題與該列表重用每一行的觀點的事實。所以說你的列表可以看到5個項目,但你的ListAdapter有15個東西。 Android會爲您的行視圖創建5 + 1個實例,而不是15個。對於列表中的每一行+ 1,當頂部和底部的一半可以被看到時,Android會創建一個。當一行被移出可見區域時,List將爲另一行回收該視圖實例,而不是創建一個新實例。如果您沒有正確重置所有用戶界面組件,則每當您從其他行顯示出來的工件時。每次將數據從數組列表中的對象綁定到視圖時,必須確保每次都設置每個字段。

對於這更好的說明,請參閱

http://www.youtube.com/watch?v=N6YdwzAvwOA&feature=related