2013-05-29 86 views
3

我有一個ViewPager,它包含從網上下載的ImageViews,當我的ListView(在另一個單獨的佈局中)未初始化時,它滑動得很好。ListView減慢ViewPager刷卡

但是,當我的ListView被創建時,問題就開始了。 ViewPager仍然「滑動」,但只滑動約1/4的方式,滯後,然後正確加載下一個ImageView。

所有的網絡和位圖操作都是使用AsyncTask完成的。我還使用了Singly API的RemoteImageCache API,它工作得很好。

爲什麼ViewPager的刷卡比較滯後?

+1

也許您的適配器的getView()在刷卡時不斷調用?在那裏放置一個日誌並檢查發生了什麼。 另外,您是否通過適配器的ViewHolder來回收您的視圖? – npace

+0

你在談論ListView適配器嗎?是的,我已經實現了它的視圖模式。是的,日誌證實每次刷卡後getView都會被調用。有沒有辦法控制這個? – Ron

+0

找到解決方案:http://stackoverflow.com/questions/11186004/yet-another-getview-called-multiple-times。 listview的高度和寬度必須是固定的,否則它會一直調用getView。 – Ron

回答

4

減速是由ListView調用getView超過必要(超過3倍每個項目在我的列表中)造成的。

根據此solution,ListView的寬度和高度必須給定特定值,而不是wrap_content或否則getView()將被調用多次。

0

它只是因爲列表視圖滾動的是視圖尋呼機滾動衝突..

,如果你想了解去不刪除代碼 listView.setAdapter(adapter)然後嘗試查看傳呼機會妥善滑動這個剛剛成立的列表視圖的可視性