Recyclerview в scrollview - PullRequest
       19

Recyclerview в scrollview

0 голосов
/ 22 мая 2018

Это код:

    <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/grey_f2"
    android:fillViewport="true"
    >
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    >
    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/rv_achievement_badges"
        android:focusableInTouchMode="false"

        />
    <LinearLayout
        android:background="@color/white"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:padding="25dp"
        >
        <com.sharesmile.share.views.LBTextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/hall_of_fame"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:textColor="@color/black_64"
            android:textSize="20sp"
            />
        <android.support.v7.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/rv_hall_of_fame"
            android:focusableInTouchMode="false"
            />
    </LinearLayout>
</LinearLayout>
</ScrollView>

Проблема rv_hall_of_fame не показывает все элементы.попробовал nestedsrollview, viewport, canScrollVertically и setNestedScrollingEnabled и ничего не работает.Можете ли вы дать мне знать.

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Вы должны удалить второй обзор переработчика из линейного макета.Возможно, именно поэтому вы не видите все элементы.

РЕДАКТИРОВАТЬ:

Я думаю, вам следует использовать NestedScrollView.У меня была такая же проблема в одном из моих проектов, и я изменил свой код на ниже, что решило мою проблему.

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/grey_f2"
android:fillViewport="true"
android:focusableInTouchMode="true">

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

<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/rv_achievement_badges"/>

<com.sharesmile.share.views.LBTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/hall_of_fame"
android:layout_marginTop="10dp"
android:textColor="@color/black_64"
android:textSize="20sp"
android:background="@color/white"
android:paddingLeft="25dp"
android:paddingTop="36dp"/>

<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/rv_hall_of_fame"
android:background="@color/white"
android:layout_marginBottom="7dp"
android:paddingBottom="30dp"
android:paddingTop="30dp"
android:paddingLeft="25dp"
android:paddingRight="25dp"/>

</LinearLayout>

</android.support.v4.widget.NestedScrollView>
0 голосов
/ 22 мая 2018

Неуместно помещать RecyclerView или ListView в ScrollView.Android не знает, как обрабатывать пользовательские события.Кроме того, в вашем случае у вас есть два RecyclerView внутри этого корня ScrollView ... Это безумие как для платформы пользовательского интерфейса Android, так и для пользователя.

Решением может быть использование только одного RecyclerView, который обрабатывает действие пользователя прокрутки, и Adapter, который знает, как визуализировать все, что вы используете: значки достижений, метку зала славы и игроков.Итак, вам понадобится только один RecyclerView, и он будет работать как шарм.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...