tôi mở rộngRecyclerView Adaptor notifyDataSetChanged không làm việc
RecyclerView.Adapter<RecyclerView.ViewHolder>
Và khi tôi gọi:
mRecyclerView.getAdapter().notifyDataSetChanged();
Không có gì xảy ra.
Cách duy nhất để làm mới quan điểm là để thiết lập lại adapter (see this answer):
mRecyclerView.setAdapter(new MyAdapter(...));
Tôi có hai vấn đề với giải pháp này:
- tôi có thể nhìn thấy một chớp trên màn hình khi tôi đặt lại bộ đổi nguồn
- Chế độ xem danh sách trở về vị trí đầu tiên.
Bất kỳ ý tưởng nào?
Bạn đã cố gắng để đóng gói phương pháp notifyDataSetChanged trong MyAdapter? Ví dụ: Tạo "myNotifyDataSetChanged" trong MyAdapter và từ phương thức đó gọi this.notifyDataSetChanged() ". Lưu tham chiếu MyAdapter và gọi myAdapterRef.myNotifyDataSetChanged() thay vì myRecyiclerView.getAdapter(). NotifyDataSetChanged().Không biết tại sao nó làm việc cho tôi (tôi đã có vấn đề với ListView) – bajicdusko
@helionprime Đã không giúp: ( – David
ok, xấu của tôi.Tôi quên để có được/sử dụng dữ liệu cập nhật trong phương pháp 'onBindViewHolder'. Nhưng những gì về hiệu ứng nhấp nháy, làm thế nào tôi có thể loại bỏ nó? – David