我正在使用FirebaseRecyclerAdapter
动态填充视图,因为数据已添加到Firebase。
但是,我还想修改RecyclerView
填充Firebase
中数据更改的视图。例如,我在每个填充的视图上都有一个计数器,当人们对该主题进行投票时,我希望计数器增加:
我的想法是为RecyclerView
中填充的每个视图设置一个标记,找到获取屏幕上当前视图的方法,然后动态更新这些视图。我有点迷失,我会继续,但这是我的PollHolder:
public static class PollHolder extends RecyclerView.ViewHolder {
TextView mPollQuestion;
TextView mVoteCount;
ImageView mPollImage;
View mView;
String mTag;
public PollHolder(View itemView) {
super(itemView);
mPollQuestion = (TextView) itemView.findViewById(R.id.latest_item_question);
mPollImage = (ImageView) itemView.findViewById(R.id.pollThumbNailImage);
mVoteCount = (TextView) itemView.findViewById(R.id.latest_item_poll_count);
this.mView = itemView;
}
public void setVoteCount (String voteCount){
mVoteCount.setText(voteCount);
}
public void setTag(String tag){
this.mTag = tag;
}
public View getViewByTag(String tag){
return mView;
}
}
以下是RecyclerView
中的观点。我希望右下角的计数器更新,但我再次不想完全重新创建/重新填充RecyclerView
。
答案 0 :(得分:1)
当你插入new时获取该行的位置。然后你可以使用
刷新特定的行notifyItemInserted (int position);
它不会刷新或重新创建RecyclerView中的所有数据,但它会替换列表的数量并刷新特定位置。
数据集中其他现有项目的表示仍然被认为是最新的,并且不会被反弹,尽管它们的位置可能会被更改。
更多详情请参阅RecyclerView.Adapter