Анимация появления/исчезновения элементов в RecyclerView
Есть android приложение, в котором отображается список элементов с помощью RecyclerView. Каждый элемент представляет собой группу дочерних элементов. При нажатии на него дочерние элементы становятся видны и отображаются так же, как родительские. При повторном нажатии на родительский элемент дочерние скрываются. Также при разворачивании одного родительского элемента дочерние элементы других скрываются. Это всё работает, но не хватает анимации сворачивания-разворачивания, поскольку при обработке клика вызывается метод notifyDataSetChanged. Он, насколько я знаю, не вызывает срабатывание анимаций. Я пробовал заменить его на вызовы notifyItemRangeInserted и notifyItemRangeRemoved, и это худо-бедно работало. Но проблема в том, что при нажатии на родительский элемент одни дочерние элементы могут появляться, а другие - исчезать. И у меня никак не получается реализовать их вызовы так, чтобы они корректно обрабатывали все изменения. Скажите пожалуйста, есть ли какой-то простой и надёжный способ корректно анимировать сворачивание-разворачивание дочерних элементов в RecyclerView? Можно ли для этого использовать notifyDataSetChanged или есть решения, основанные на notifyItemRangeInserted и notifyItemRangeRemoved? Заранее спасибо!