Как обновлять данные элемента recyclerView в реальном времени?

У меня есть список. Список постоянно обновляется. В метод приходит имя из бд и элемент добавляется в список. Каким образом нужно изменить код, что бы вызвав метод update , можно было изменить значение имени в ячейке без информации о его позиции? Сейчас у меня изменяется имя только в позиции 0. Но у меня в списке может быть 100 ячеек. И например я хочу изменить значение ячейки в позиции 56. Но через несколько секунд это уже будет не позиция 56, а , скажем, 60. Я думаю, что мне нужно подписаться на изменения списка. Но т к я новичок, я не понимаю, как мне подписаться на эти изменения. т е например: в бд изменилось имя - получили эти изменения-поменяли в списке значение ячейки.Вот что у меня есть сейчас:

public class Contact {
    private int image;
    private String name;
    private String number;

    public Contact(int image, String name, String number) {
        this.image = image;
        this.name = name;
        this.number = number;
//getter, setter
    }

public class ContactAdapter extends RecyclerView.Adapter<ContactAdapter.ViewHolder> {
    private LayoutInflater layoutInflater;
    private List<Contact> contacts;
    private Context context;

    public ContactAdapter(Context context, List<Contact> contacts) {
        this.contacts = contacts;
        this.layoutInflater = LayoutInflater.from(context);
        this.context = context;
    }

    @NonNull
    @Override
    public ContactAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = layoutInflater.inflate(R.layout.list_item, parent, false);
        return new ViewHolder(view);
    }


    @Override
    public void onBindViewHolder(ContactAdapter.ViewHolder holder, final int position) {
        final Contact contact = contacts.get(position);
        holder.imageView.setImageResource(contact.getImage());
        holder.nameView.setText(contact.getName());
        holder.numberView.setText(contact.getNumber());

            }
        });
    }

    @Override
    public int getItemCount() {
        return contacts.size();
    }

    public static class ViewHolder extends RecyclerView.ViewHolder {
        final ImageView imageView;
        final TextView nameView, numberView;

        ViewHolder(View view) {
            super(view);
            imageView = view.findViewById(R.id.image);
            nameView = view.findViewById(R.id.name);
            numberView = view.findViewById(R.id.number);
        }
    }
}

т е как мне подпиать list на изменение параметра name ?


Ответы (0 шт):