RecyclerView与Handler无法很好地协作

时间:2016-05-02 17:16:47

标签: android

我使用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,但所有不必要的视图仅在几毫秒内可见。之后,它会停止在相应的视图中更改布局。

帮助

你见过类似的吗?为什么会这样,我该怎么办?

0 个答案:

没有答案