У меня есть экран, на котором элементы / ячейки спроектированы в виде сетки 2x2. То, что я хочу сделать, - это запускать API для отображения / показа элемента, когда RecyclerView
прокручивает вверх / вниз.
Поскольку мой список довольно большой
Например, сценарий:
- При первой загрузке показывает, например, 6 (3х2) предметов / ячейки. Затем запустите API для всех этих 6 элементов, поскольку они полностью видны.
- При прокрутке вверх, например он показывает еще 2 элемента и более / верхние 2 элемента выходят за пределы экрана, следовательно, он должен запускать API для новых 2 элементов.
Таким образом, я хочу завершить обход всего списка и вызвать API для вновь найденных элементов.
То, что я пробовал, это
- Ниже методы GridLayoutManager не работают для меня, так как каждый из них дает разные значения и кажется случайным
int findFirstVisibleItemPosition ();
int findFirstCompletelyVisibleItemPosition ();
int findLastVisibleItemPosition ();
int findLastCompletelyVisibleItemPosition ();
- Проверка границ
View
лежащих на экране с помощью Rect | getGlobalVisibleRect()
, но это также не работает внутри onScrolled() | OnScrollStateChanged()
Пожалуйста, предложите подход, где я могу получить правильный индекс полностью видимой ячейки.