如何编辑RecyclerView数据

时间:2016-08-02 10:31:25

标签: android android-recyclerview

我有一个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();

2 个答案:

答案 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);

        }