0

Здравтвуйте.
При работе с RecyclerView нужно обновить его визуальную составляющую. Но приходится лепить костыли. Почему?

     //Не работает
//    tempMedicineList = db.readAll();
//    recyclerView.getAdapter().notifyDataSetChanged();

    //Костыль, который работает
    if (recyclerView.getAdapter() != null) {
        recyclerView.setAdapter(null);
    }
    MedicineAdapter medicineAdapter = new MedicineAdapter(this, db.readAll());
    medicineAdapter.setOnClickListener(this);
    recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL,
            false));
    recyclerView.setAdapter(medicineAdapter);
Jorik
  • 513

1 Answers1

1

notifyDataSetChanged прекрасно работает только в случае если переданную коллекцию или массив изменить (добавить, поменять, удалить). Ничего более. Замена всей коллекции/массива тоже не считается.