@Drew20
Недопрограммист Android))

Как сделать проверку на достижение верха списка recyclerView?

У меня в приложении есть список созданный на основе recyclerView у которого есть свой адаптер. Этот адаптер заполняется данными которые он получает с сервера, возьмем к примеру список сообщений. На текущий момент я пытаюсь сделать добавление в список новых айтемов при достижении нижнего или верхнего уровня списка (на подобии списка сообщений Gmail). Я читал про библиотеку которая используется в Gmail, но я не понял как ее можно использовать в моей ситуации. Сейчас у меня получилось сделать добавление элементов списка при достижении нижней границы списка, и вроде все работает нормально. Но я не смогу сделать тоже самое используя те наработки которые я получил при работе с достижением нижней границы списка. Для начала я создал интерфейс:
public interface OnBottomReachedListener {
    void onBottomReached(int position);
}


дальше в адаптере создаю функцию:
void setOnBottomReachedListener(OnBottomReachedListener onBottomReachedListener) {
        this.onBottomReachedListener = onBottomReachedListener;
    }


и дальше в onBindViewHolder вставляю проверку, которая не всегда правильно срабатывает но в целом все работает:
if (position == getItemCount() - 1) {
            onBottomReachedListener.onBottomReached(position);
        }


В активити после создания и заполнения адаптера я добавил слушатель:
((ListAdapter) adapter).setOnBottomReachedListener(new OnBottomReachedListener() {
                            @Override
                            public void onBottomReached(int position) {
                                getMessages(type, a_token, offset + 50);
                            }
                        });


я не могу понять как именно мне перевернуть проверку чтобы она срабатывала и когда я достигаю вершины списка. Надеюсь на вашу помощь и полезные советы. Заранее спасибо.
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ответы на вопрос 1
iLLuzor
@iLLuzor
Java, Kotlin, Android Developer
Очень сомнительное решение. Лучше просто повесить OnScrollListener на RecyclerView
https://stackoverflow.com/questions/36127734/detec...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Orange Rockets Тюмень
от 60 000 до 120 000 руб.
Denim-app Москва
от 140 000 до 180 000 руб.
SMARTНАРОД Москва
от 100 000 руб.
23 апр. 2019, в 12:58
5000 руб./за проект
23 апр. 2019, в 12:22
150 руб./за проект
23 апр. 2019, в 12:04
1000 руб./в час