更新recylerview中的单个项目。我正在使用分页库,并且想更新单个项目/行

时间:2019-03-08 08:13:13

标签: android-architecture-components android-jetpack android-mvvm android-paging android-paging-library

我正在使用提交列表将pagedlist值传递给适配器。当我更新单个项目时,请考虑在recyclerview中单击供稿的“赞”按钮。如何更新单个项目。

我正在按照此示例进行分页实施

https://github.com/saquib3705/PagingLibrarySampleApp

仅加载数据并更新recyclerview。我想为项目添加“喜欢”按钮,并在用户喜欢如何实现时更新列表。 也看看这个,这正是我真正在寻找的东西 Update list items in PagingLibrary w/o using Room (Network only)

1 个答案:

答案 0 :(得分:0)

假设我的猜测是正确的:

  1. 您的视图模型具有LiveData<PagedList<Article>>吸气剂
  2. 您已实施PagedListAdapter,并通过submitList将数据设置到其中。
  3. 您在列表和列表项之间共享视图模型(自然)

然后将其添加到适配器构造器中(自然,Article只是表示某些实体的示例类,您将拥有自己的实体):

        super(new DiffUtil.ItemCallback<Article>() {
            @Override
            public boolean areItemsTheSame(@NonNull Article article1, @NonNull Article article2) {
                return article1.getId().equals(article2.getId());
            }

            @Override
            public boolean areContentsTheSame(@NonNull Article article1, @NonNull Article article2) {
                return article1.equals(article2);
            }
        });

...您的问题已自动解决。