gpt4 book ai didi

android - 使用Android MVVM,如何避免在回收站适配器中再次设置相同的数据?

转载 作者:行者123 更新时间:2023-12-03 10:56:25 24 4
gpt4 key购买 nike

我需要一个基本的说明(也许我遗漏了要点)。在所有MVVM示例中,(以postViewModel为例)

    postViewModel.getAllposts().observe(this, new Observer<List<Post>>() {
@Override
public void onChanged(@Nullable List<Post> posts) {
Log.i(LOG_TAG,”posts data set changed, notifying “+posts);
postsAdapter.setPosts(posts);
}
});

在里面
    private void getPosts(List<Post> posts) {
for(Post post:posts) {
postViewModel.insert(post);
}
}

因此,如果有三个帖子,则为插入每个帖子,将在数据库中的所有帖子中调用onChanged。
因此,第一个回收站是在第1个帖子中创建的
然后第二次设置为帖子1和2
最后设置了帖子1,2和3。
所以View in recyclerlayout很好,最后只显示3个项目。但是,如果我得到很多包含很多图像的数据,效率就不高。
如何避免这种情况?有没有办法在所有插入完成之前暂停观察?还是仅在observe中获取更新的数据?

最佳答案

使用DiffUtil有效地更新您的RecyclerView。 Here是一个示例

关于android - 使用Android MVVM,如何避免在回收站适配器中再次设置相同的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57264853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com