Я продлилRecyclerView адаптер notifyDataSetChanged не работает
RecyclerView.Adapter<RecyclerView.ViewHolder>
И когда я назвал:
mRecyclerView.getAdapter().notifyDataSetChanged();
Ничего не произошло.
Единственный способ обновить вид, чтобы снова установить адаптер (see this answer):
mRecyclerView.setAdapter(new MyAdapter(...));
У меня есть две проблемы с этим решением:
- Я могу видеть мерцание на экране когда я снова устанавливаю адаптер
- Listview возвращает в первую позицию.
Любые идеи?
Вы пробовали инкапсулировать notifyDataSetChanged метод в MyAdapter? Например: создать «myNotifyDataSetChanged» в MyAdapter и вызвать этот метод this.notifyDataSetChanged() ». Сохраните ссылку MyAdapter и вызовите myAdapterRef.myNotifyDataSetChanged() вместо myRecyiclerView.getAdapter(). NotifyDataSetChanged().Sont знает, почему это сработало для меня (у меня была эта проблема с ListView) – bajicdusko
@helionprime Не помогло :( – David
ОК, мое плохое. Я забыл получить/использовать обновленные данные в методе 'onBindViewHolder'. blink effect, как я могу избавиться от него? – David