2015-07-03 2 views
3

Я использую RecyclerView в своем приложении, добавляя больше предметов к RecyclerView после того, как его последний элемент заставляет свиток RecyclerView оставаться в своем положении, но когда я добавляю элементы до первого элемента, позиция прокрутки перемещается вверх до первого добавленного элемента , Как я могу сохранить свою позицию прокрутки после добавления новых элементов в свой первый индекс?Как оставаться в позиции прокрутки в RecyclerView после добавления элементов в свой первый индекс?

ответ

0

RecyclerView имеет метод yourRecyclerView.scrollToPosition(int_position_value);, вам просто нужно передать этот метод своей позиции, и он будет прокручиваться вниз или вверх в зависимости от положения. Теперь вам нужно сделать следующее: после добавления элемента/элементов вычислить позицию, в которую вы хотите прокрутить, и передать ее этому методу.

+0

Что вы имели в виду, вычисляя позицию? Чтобы поддерживать положение прокрутки точно там, где оно было до того, как элементы были добавлены в 0-й индекс, мне нужно рассчитать высоту всех этих элементов? – Rihards

+0

Нет, вам не нужно вычислять высоту, все, что вам нужно сделать, это рассчитать, сколько элементов вы добавили/удалили, допустим, что вы хотите сохранить свою позицию прокрутки на 10-м элементе после добавления некоторых элементов, а затем просто передайте вышеуказанный метод значение из 10 или 9 в зависимости от того, является ли он нулевым индексом – mushahid