0

我有一个使用自定义 ArrayAdapter 来膨胀视图的 ListView。其中一些视图需要显示图像。为了防止 ListView 在我滚动时打嗝,我让每个需要加载位图的视图都在专用线程上执行此操作,并且只有在位图准备好添加到 ImageView 时才回调 UI 线程。

这很好用,但问题是添加位图的布局将需要扩展以容纳位图,并且瞬时扩展对用户来说看起来很刺耳。

如果有一种方法可以更早地加载位图,在它滚动到视图之前,它很有可能会在它滚动到视图时被加载。所以问题是:

有没有办法扩展 ListView 用来确定何时要求适配器显示另一个视图的区域边界?我假设我可以破解 ListView 源,但如果可能的话想避免这种情况。

或者,如果您有更好的建议,请告诉我。

4

1 回答 1

1

使用injustDecodeBounds首先在它自己的 ui 线程中加载图像的大小,并相应地设置图像视图的大小,然后开始在线程中加载完整图像

于 2013-04-05T03:38:59.950 回答