RecyclerView Update Finish Callback



我有一个ArrayList<User>,我用一个后台任务不断更新,RecyclerView.Adapter列出了用户的数据。我怎样才能知道适配器已经完成了视图的更新,以便我可以等待更新用户列表。我想要这样做,因为我不想在RecyclerView更新时更新用户列表,以防止列表的一半显示旧数据,另一半显示新数据。

我正在从后台线程更新列表,然后调用runOnUiThread来通知数据更改。我意识到,如果我从主线程更新列表,我不必担心线程安全。因为即使在RecyclerView更新过程中检测到另一个数据更新,它也必须等待主线程在更新数据集之前完成视图的更新。

到目前为止,google还没有实现这样的功能,因为直到现在还没有必要这样做。但是当它到来的时候,我一定会用链接更新答案。

将此函数放入回调函数中,以在UI线程中显示结果:

runOnUiThread(new Runnable() {
@Override
public void run() {
//do something
}
});
ui元素不等待服务器的响应,同时Callback不在ui线程中运行。使用这个函数,您可以处理结果并初始化一些ui更改。

最新更新