Есть ли способ перерисовать все элементы RecyclerView
?
У меня есть несколько тем (в стиле.xml), и после изменения темы мне нужно перерисовать RecyclerView
.
Поэтому мне нужен метод, который заставит повторно вызвать onCreateViewHolder
для каждого элемента адаптера.
Я попытался:
- call
adapter.notifyDataSetChanged
ноonCreateViewHolder
не вызывается - вызовите
recyclerView.setVisibility(View.GONE)
а затемrecyclerView.setVisibility(View.VISIBLE)
- вызов
recyclerView.invalidate()
- вызовите
recyclerView.setAdapter(null)
а затемrecyclerView.setAdapter(adapter)
.
Это хорошо работает для 90% предметов. Только 90% предметов получат новый стиль, но некоторые предметы будут иметь старый стиль
Я упоминаю, что RecyclerView
привязан к Activity, а не к фрагменту.