2013-05-29 46 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)然后尝试查看传呼机会妥善滑动这个刚刚成立的列表视图的可视性