我使用Handler异步更新RecyclerView项目,但似乎我的视图不会(仅)更新正确的项目。
我的代码:
mHandler.post(new Runnable() {
@Override
public void run() {
// palette and image stuff
// ...
runOnUiThread(new Runnable() {
// shortcut for loading images and update view holder which
// works as it was intended but only when not started
//from Handler
load(...)
});
}
});
行为:
当我开始在我的列表中向下滚动时,我可以清楚地看到RecyclerView将每个项项加载到每个视图。像这样:
查看1,2,3,4,5,6 ......加载。 我向下滚动到(例如)第20项。 View#20加载(自身)View#7,#8,9,10,11,12,......的布局直到20,但所有不必要的视图仅在几毫秒内可见。之后,它会停止在相应的视图中更改布局。
帮助
你见过类似的吗?为什么会这样,我该怎么办?