@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);
                            }
                        });


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

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

Похожие вопросы