Почему иногда отрицательное число Возвращает позицию в RecyclerView?
для получения позиции:
holder.getAdapterPosition()
Из официального документа :
Обратите внимание, что если вы вызывали notifyDataSetChanged(), до следующего прохода макета, возвращаемое значение этого метода будет NO_POSITION. Возвращает позицию адаптера элемента, если он все еще существует в адаптере.NO_POSITION если элемент был удален из адаптера, notifyDataSetChanged() был вызван после последнего прохода макета или ViewHolder уже был переработан.
Обратите внимание, что если вы вызывали notifyDataSetChanged(), до следующего прохода макета, возвращаемое значение этого метода будет NO_POSITION.
notifyDataSetChanged()
NO_POSITION
Возвращает позицию адаптера элемента, если он все еще существует в адаптере.NO_POSITION если элемент был удален из адаптера, notifyDataSetChanged() был вызван после последнего прохода макета или ViewHolder уже был переработан.
ViewHolder
NO_POSITION значение -1.