RecyclerView中的RecyclerView不滚动

时间:2018-09-04 20:55:05

标签: android android-recyclerview

嗨,我有一个RecyclerView,其中包含另一个RecyclerView(请参见图片),内部的RecyclerView不滚动:例如,查看9月7日,其中最后一个活动完全不可见,但RecyclerView不滚动显示它。 这是外部布局:

    <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/swipeContainer"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/square">

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

</android.support.v4.widget.SwipeRefreshLayout>

和内部的一个:

    <android.support.v7.widget.CardView
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:orientation="vertical"/>
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <ImageView
            android:layout_width="match_parent"
            android:paddingLeft="25dp"
            android:paddingRight="25dp"
            android:paddingTop="20dp"
            android:layout_height="180dp"
            android:layout_gravity="center"
            android:id="@+id/square3"
            android:src="@drawable/square"
            android:elevation="2dp"/>

        <LinearLayout
            android:layout_width="wrap_content"
            android:minWidth="60dp"
            android:layout_height="wrap_content"
            android:id="@+id/lin"
            android:orientation="vertical"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="30dp">

            <TextView
                android:id="@+id/day"
                android:textAlignment="center"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textAlignment="center"
                android:id="@+id/nameeOfMonthTable"/>

        </LinearLayout>

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recicloEvent"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_marginRight="26dp"
            android:layout_marginTop="20dp"
            android:layout_toRightOf="@+id/lin"
            android:paddingLeft="1dp"
            android:layout_alignTop="@+id/square3"
            android:layout_alignBottom="@+id/square3"/>

        <View
            android:id="@+id/separatorDateRvCale2"
            android:layout_width="1dp"
            android:layout_alignTop="@+id/square3"
            android:layout_marginTop="21dp"
            android:layout_height="200dp"
            android:layout_alignBottom="@+id/square3"
            android:layout_alignLeft="@+id/recicloEvent"
            android:layout_marginLeft="60dp"

            />

        <View
            android:id="@+id/separatorDateRvCale"
            android:layout_width="1dp"
            android:layout_alignTop="@+id/square3"
            android:layout_marginTop="21dp"
            android:layout_height="200dp"
            android:layout_alignBottom="@+id/square3"
            android:layout_alignLeft="@+id/recicloEvent"
            />


    </RelativeLayout>

</android.support.v7.widget.CardView>

有什么建议吗?

enter image description here

2 个答案:

答案 0 :(得分:0)

我相信您可以在这里找到答案:How to add a recyclerView inside another recyclerView

总而言之,您不应在另一个RecyclerView中嵌套一个from django.utils import translation from django.contrib.sites.shortcuts import get_current_site class SetLanguageToDomain: def __init__(self, get_response): self.get_response = get_response # One-time configuration and initialization. def __call__(self, request): current_site = get_current_site(request).domain if current_site == 'drenglish': user_language = 'en' elif current_site == 'drspanish': user_language = 'es_ES' else: user_language = 'pt_BR' translation.activate(user_language) request.session[translation.LANGUAGE_SESSION_KEY] = user_language response = self.get_response(request) return response 。 您还可以关注this guidance以获得更多帮助。

答案 1 :(得分:0)

我从您发布的代码中看到,内部RecyclerView的高度为wrap_content。我只能猜测,但是我怀疑外部RecyclerView的每个项目都有一定的高度。这将导致内部的RecyclerView被剪切而不滚动。

您将要使内部RecyclerView与其内部的项目具有相同的高度。如果您使用的是ConstraintLayout,则意味着使用0dp的高度并将顶部和底部限制为父级。如果您使用其他视图,则意味着将高度设置为match_parent