如何编辑RecyclerView数据



我有一个RecyclerView,它在每行中显示两条数据。

两者都来自List播放器。

我需要的是每当单击element更新第二条数据(它是一个计数器,一个int)

基本上,我已经修改了这个播放器List,但不知道如何将其放回编辑过的RecyclerView中。

我的适配器代码

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()));
}

我尝试过的

adapter = new CoursesAdapter(players);
            myList.setAdapter(adapter);
            myList.invalidate();

编辑://我的RecyclerView是的活动代码

 myList = (RecyclerView) findViewById(R.id.playersVote);
    myList.setLayoutManager(new LinearLayoutManager(this));
    adapter = new CoursesAdapter(players);
    myList.setAdapter(adapter);

    // RecyclerView with a click listener
    CoursesAdapter clickAdapter = new CoursesAdapter(players);
    clickAdapter.setOnEntryClickListener(new CoursesAdapter.OnEntryClickListener() {
        @Override
        public void onEntryClick(View view, int position) {
            // Let each player vote (ghosts too)
            Player player = players.get(position);
            player.incrementCount();
            //Toast.makeText(ListPlayersVote.this, String.valueOf(player.getCount()), Toast.LENGTH_SHORT).show();
            votes++;

每次数据更改时,都应该使用notifyDataSetChanged() 通知适配器中的这些更改

notifyDataSetChanged():通知附加的观察者基础数据已经已更改,并且任何反映数据集的视图都应自行刷新。

像这样:

adapter = new CoursesAdapter(players);
myList.setAdapter(adapter);
....
....
adapter.notifyDataSetChanged();

使用以下代码更改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);
        }

最新更新