ScrollView продолжает прокручиваться, хотя макет пуст

#android #android-layout

#Android #android-layout

Вопрос:

Проблема в том, что ScrollView прокручивается до тех пор, пока не завершит все содержимое моего макета, затем он продолжает прокручиваться и показывает пустой макет. Он продолжает прокручиваться на длинную пустую длину. Я предполагаю, что проблема заключается в использовании RecyclerView внутри ScrollView, и я просто знаю, что это приведет к ухудшению пользовательского интерфейса, но сейчас главное — заставить его работать

Вот дерево компонентов моего макета

дерево компонентов макета

И вот фрагмент XML-кода для части ScrollView

 <ScrollView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:background="@color/white_smoke"
    android:fillViewport="true">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <androidx.constraintlayout.widget.ConstraintLayout...>
        
        <LinearLayout
            android:id="@ id/frameLayout2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <androidx.recyclerview.widget.RecyclerView
                android:id="@ id/comments_recycler_view"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/white_smoke" />

        </LinearLayout>

    </LinearLayout>
  

Ответ №1:

Попробовав несколько решений. Обертывание RecyclerView в RelativeLayout вместо LinearLayout решило для меня проблему. И последнее, что не следует забывать, не используйте RecyclerView в ScrollView, поскольку RecyclerView не будет перерабатывать свои представления. Вы можете сделать это, если уверены, что в RecyclerView не так много элементов.