0

当 ListView 适配器向 getView 方法提供相同的 convertViews 时,我有非常奇怪的行为,即使它们都是可见的: getView(); 0; holder: ViewHolder@4289bde8 getView(); 1; holder: ViewHolder@4289bde8 getView(); 4; holder: ViewHolder@4289bde8 getView(); 2; holder: ViewHolder@4289bde8 getView(); 3; holder: ViewHolder@4289bde8

仅当我使用异步下载的图像调用 setImageBitmap 时才会发生这种情况。如果使用静态位图(例如来自资源的位图)调用此方法 - 一切都按设计进行: getView(); 2; holder: ViewHolder@426fd408 getView(); 1; holder: ViewHolder@42899128 getView(); 0; holder: ViewHolder@4289bdf0 getView(); 4; holder: ViewHolder@4289b598 getView(); 5; holder: ViewHolder@4289b480

4

1 回答 1

0

这对我来说是一个很大的惊喜,但这个问题与我的印刷错误有关,当时我不小心指定android:layout_height="wrap_content"了 ListView。在我将其更改为正确的android:layout_height="match_parent"值后,即使对于异步位图,回收机制也开始正常工作!

于 2014-06-22T02:59:49.087 回答