我正在开发一个需要自动完成文本视图来在下拉视图中建议联系人的应用程序。我正在使用自定义光标适配器。我的一个下拉项目的布局在左侧有 imageview(用于显示联系人的图像(如果可用),否则为默认图像)。我使用 Asynctask 从联系人中加载图像。在我的 bindView 方法中,我有以下代码片段从异步任务中加载图像。
contactImage = new conactImage(viewHolder, cursor);
contactImage.execute(new String[] {userId});
在 Asynctask 的 onPostExecute 方法中,我设置了图像位图。
mViewHolder.cImage.setImageBitmap(imageResultBitmap);
mViewHolder 是在前一个片段中作为参数传递的视图持有者。
我面临的问题是糟糕的用户体验。假设我在 autocompletetextview 中输入了两个字符。图像在一秒钟内出现。当我滚动时,除非我再等待 2 3 秒以加载正确的图像,否则图像不会改变。当我快速滚动时,由于图像位图的随机变化,视图会闪烁很多。我知道这是一个视图回收的事情,但这很烦人。请提出任何其他可能的方法来做同样的事情。
滚动时
谢谢!