Когда я использовал Firestore
для базы данных и использовал ListAdapter
, используя View-Model
для настройки list
с paging
. Теперь мой запрос состоит в том, что я успешно настроил данные, но когда я обновляю количество пользователей like
с помощью кнопки, то после прокрутки я вижу, что вышеупомянутый обновленный элемент показывает мне ниже, где ограниченный постраничный список завершен sh и новый список. Пожалуйста, помогите мне решить этот вопрос. Мой код для настройки View-Models
postListViewModel=new ViewModelProvider(getActivity()).get(PostListViewModel.class);
PostListLiveData productListLiveData = postListViewModel.getProductListLiveData();
if (productListLiveData != null) {
productListLiveData.observe(getActivity(), new Observer<PostOpration>() {
@Override
public void onChanged(PostOpration operation) {
switch (operation.type) {
case R.string.added:
Posts addedProduct = operation.post;
addPost(addedProduct);
break;
case R.string.modified:
Posts modifiedProduct = operation.post;
modifyPost(modifiedProduct);
break;
case R.string.removed:
Posts removedProduct = operation.post;
removePost(removedProduct);
}
}
// latestPostAdapter.notifyDataSetChanged();
});
}
latestPostAdapter = new NewPostListAdapter(getActivity(),myContext,mPostList,searchString);
mRecyclerView.setAdapter(latestPostAdapter);
}
private void addPost(Posts addedPost) {
mPostList.add(addedPost);
latestPostAdapter.submitList(mPostList);
}
private void modifyPost(Posts modifiedPost) {
for (int i = 0; i < mPostList.size(); i++) {
Posts currentProduct = mPostList.get(i);
if (currentProduct.doc_id.equals(modifiedPost.doc_id)) {
int position=latestPostAdapter.getItemPosition();
System.out.println("ITEM POSITION "+i+" and "+position);
mPostList.remove(currentProduct);
mPostList.add(i, modifiedPost);
}
}
}
private void removePost(Posts removedPost) {
for (int i = 0; i < mPostList.size(); i++) {
Posts currentProduct = mPostList.get(i);
if (currentProduct.doc_id.equals(removedPost.doc_id)) {
mPostList.remove(currentProduct);
latestPostAdapter.submitList(mPostList);
}
}
}
Пожалуйста, помогите мне об этом, Спасибо заранее