Например, у вас есть адаптер, и в методе onBindViewHolder вы устанавливаете OnClickListener для некоторых представлений (и выполняете там некоторые действия в зависимости от положения представления). Вам следует присвоить окончательный параметру позиции метода onBindViewHolder, чтобы он был доступен из onClick().
После изменения набора данных (удаления или добавления элемента в список) вы вызываете onItemInserted или onItemRemoved, и это действительно добавляет/удаляет представление в recyclerview, НО оно не обновляет другие элементы просмотра, поэтому, когда вы нажимаете на соседний элемент просмотра, откроется экран или отображение данных с неверным индексом. Чтобы избежать этого, я обычно вызываю notifyDatasetChanged для вызова onBind для всех видимых представлений и удаления/добавления некоторых представлений.
Итак, как обновить другие представления при вызове notifyItemInserted/removed или как правильно работать с этими методами?
Подробнее здесь: https://stackoverflow.com/questions/358 ... -right-way
Как правильно использовать RecyclerView.Adapter notifyItemInserted/Removed? ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как правильно использовать RecyclerView.Adapter notifyItemInserted/Removed?
Anonymous » » в форуме Android - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
OnBindViewholder не называется после recyclerview adapter notifydatatchanged ()
Anonymous » » в форуме Android - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-