首页 > 解决方案 > 更新 recyclerview 中帖子的评论计数

问题描述

活动 A 有一个回收器视图,其中每一行都作为一个帖子,现在每个帖子都有一个评论计数文本视图,它启动一个评论活动,用户可以在其中查看评论并添加评论。

现在的问题是,在添加评论后,当评论活动完成或按返回按钮返回帖子页面时,如何更新活动 A 中特定行回收器视图中的评论计数。但我不想再次重新加载回收站视图,因为它会分散用户对当前位置的注意力。

请指导我正确的方向。下面是我的 Recyclerview 适配器代码片段。

public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) {
        int viewType = getItemViewType(position);
        final Posts posts = postsList.get(position);
        final viewHolderPost viewHolderPost = (viewHolderPost) viewHolder;

        viewHolderPost.commentcount_wrap.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent intent = new Intent(v.getContext(), CommentViewerActivity.class);
                        intent.putExtra("post_id", posts.getPost_id());
                        v.getContext().startActivity(intent);
                    }
                });
}

标签: javaandroidandroid-recyclerview

解决方案


好的,这就是我要做的:

  1. 创建公共对象(最好是存储库),我会将带有评论的帖子列表存储在内存中。
  2. 单击 Post 时,我会调用startActivityForResult方法 fromPostActivity打开CommentActivity
  3. 在添加/删除/编辑评论后,CommentActivity我将更新存储库中的列表并以正确的结果完成活动
  4. PostActivity我将覆盖onActivityResult方法来检查是否CommentActivity完成结果将告诉我刷新 RecyclerView 中的列表
  5. 如果是这样,我将从存储库中获取更新的列表PostActivity并在适配器中更新它

推荐阅读