Прежде всего удалите его из вашего list
:
yourList.remove(getAdapterPosition());
Затем используйте это:
notifyItemRemoved(getAdapterPosition());
Как минимум обновите recyclerview
с помощью notifyItemRangeChanged
:
notifyItemRangeChanged(getAdapterPosition(),yourList.size());
Тогда ваш remove function
должен быть изменен на:
private fun removeItem( infoData: ModelAuthor?) {
item.remove(getAdapterPosition())
notifyItemRemoved(getAdapterPosition())
notifyItemRangeChanged(getAdapterPosition(),item.size())
}
Обновление:
In onBindViewHolder
:
deletedata(data,holder)
В случае выхода из onBindViewHolder
pass holder
затем используйте его следующим образом:
private fun deletedata(infoData: ModelAuthor?,holder: ViewHolder){
item!!.removeAt(holder.adapterPosition)
notifyItemRemoved(holder.adapterPosition)
notifyItemRangeChanged(holder.adapterPosition, item!!.size)
}