Задать вопрос
@fenucss

Медленная загрузка RecyclerView, что делать?

Хочу добавить над списком элементы, которые будут уходить за предел экрана, при прокрутке recycler view. Проблема в том, что когда recyclerview находится внутри nestedScroll, список очень долго начинает загружаться т.к он содержит все товары из БД. Если вынести список за пределы recycler view, то он работает идеально без тормозов. Но в таком случае при прокрутке верхний элемент повисает над списком, а не уходит за предел экрана. Кто что посоветует?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
android:padding="6dp">

<androidx.core.widget.NestedScrollView
    android:layout_width="match_parent"
    android:id="@+id/but1"
    android:layout_marginBottom="10dp"
    android:layout_height="wrap_content">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/imgcl"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:src="@drawable/yandex_logo_en"/>

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/recycler_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/imgcl"
            android:scrollbars="none" />

    </RelativeLayout>
</androidx.core.widget.NestedScrollView>
  • Вопрос задан
  • 124 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Это решается очень просто - элементы "над списком" заносятся в сам список, нестед скролл выкидывается. См. getItemViewType в адаптере.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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