我有一个RecyclerView
,每行显示两个数据。
两者均来自List
玩家。
每次点击 时,我需要的是更新第二段数据(这是一个计数器,一个int)。
基本上我修改了这些玩家element
,但不知道如何将其重新编入ReclerView编辑。
List
TextView name;
TextView counter;
CoursesViewHolder(View itemView) {
super(itemView);
itemView.setOnClickListener(this);
name = (TextView) itemView.findViewById(R.id.textName);
counter = (TextView) itemView.findViewById(R.id.textCounter);
}
[...]
@Override
public void onBindViewHolder(CoursesViewHolder holder, int position) {
Player player = mArrayCourses.get(position);
holder.name.setText(player.getName());
holder.counter.setText(String.valueOf(player.getCount()));
}
修改 //我的RecyclerView所在活动的代码片段
adapter = new CoursesAdapter(players);
myList.setAdapter(adapter);
myList.invalidate();
答案 0 :(得分:0)
每次数据更改时,您都应使用notifyDataSetChanged()
像这样:notifyDataSetChanged():通知附加的观察者基础数据已经存在 已更改,任何反映数据集的视图都应自行刷新。
adapter = new CoursesAdapter(players);
myList.setAdapter(adapter);
....
....
adapter.notifyDataSetChanged();
答案 1 :(得分:0)
使用以下代码更改recyclerview中的特定项目
public void updatedelivact(String value,int index) {
ChatMessage chatMessage = getItem(index);
Collection<Integer> readIds = chatMessage.getDeliveredIds();
readIds.add(userid);
chatMessage.setReadIds(readIds);
//To change the perticular item
notifyItemChanged(index);
}