Имеется фрагмент, в котором идёт запрос в базу, затем данные передаются в RecyclerView для формирования списка. По клику на пункт списка открывается активность, там кнопка удаления. По тапу на кнопку идёт запрос в базу на удаление и активность закрывается через финиш.
В методе onResume() отлавливается пункт списка, который был удалён и через mAdapter.notifyItemRemoved(deleteItem); идёт анимированое скрытие этого пункта из списка.
Всё отлично, но в нижней части экрана появляется дубликат последнего видимого пункта списка. Поискав наткнулся на несколько примеров одного и того же решения - добавление в адаптер своего метода для обновления списка и обращения к этому методу. Один из этих примеров описан в этом ответе от pavlofff
Но почему-то у меня при обращении к методу адаптера в onResume() или onCreateView() само название метода подсвечивается красным (как будто метод отсутствует), а в самом адаптере название метода подсвечивается серым (как будто метод не используется) и естественно ничего не работает.

onResumeи самими методом в адаптере. Посмотрите, пожалуйста. – Gamlet Oct 03 '17 at 12:46myAdapter. Если вы у неё не можете вызвать метод, описанный в адаптере, то, видимо, тип её определён не какRecyclerAdapterTab1, а что-то типаRecyclerView.Adapter. Т.е.RecyclerView.Adapter mAdapter. Если так, то надо лишь заменить тип переменной на тип вашего адаптера, т.е. наRecyclerAdapterTab1. Ну или скастовать к нему при вызове метода. – ЮрийСПб Oct 03 '17 at 13:27mDatasetвы удаляете?mDataset.remove(deletedItem);Перед тем как сделатьmAdapter.notifyItemRemoved(deleteItem);. – eugeneek Oct 03 '17 at 14:24mAdapter.setHasStableIds(true);во фрагменте иpublic long getItemId(int position)в адаптере. Теперь и информация в писке актуальна, и удаление пункта происходит с анимацией. Спасибо ещё раз, в который раз выручаете )) – Gamlet Oct 03 '17 at 14:28mAdapter.dataChanged(myData);отправляю их адаптеру. Там уже идёт обновление. Или это неверное решение? – Gamlet Oct 03 '17 at 14:30