如何使用YAZIO中的几个列表(RecyclerView)生成ScrollView?

问题描述 投票:-1回答:1

我需要生成一周的列表(7个条目),每个条目必须提供YAZIO中的其他条目列表,我该如何实现?

Screenshot

我试图用高度设置7个RecyclerView来包装内容,但是有问题:只有第一个显示在它的全高度。使用几个ViewTypes并不合适,因为我想每天使用MaterialCardView

最终我想实现这样的结果,在每一行中可能是,或者不包含列表:

Screenshot

现在我通过在ListView中使用RecyclerView并在ListView方法中重新计算onBindViewHolder()的高度来实现这一点。这似乎不正确,虽然它以某种方式起作用

java android kotlin android-recyclerview
1个回答
0
投票

您应该使用nestedscrollview。

这是一个xml代码示例,它可以在其全高度显示2个不同的recyclerview。

<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".com.example.thomas.EasyCount.BalanceFragment">




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



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




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



        <android.support.v7.widget.RecyclerView
            android:id="@+id/recycle_pay_back"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/txt_to_do"
            android:layout_alignParentStart="true"
            android:layout_marginTop="5dp"
            android:background="?android:attr/selectableItemBackground"
            />

    </RelativeLayout>


</LinearLayout>

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

所以你应该像这样使用nestedscrollview:

<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">




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

//ALL OF YOUR CONTENT MUST BE IN THE LINEALAYOUT => Nested scroll must only have one child

</LinearLayout>

</android.support.v4.widget.NestedScrollView>
© www.soinside.com 2019 - 2024. All rights reserved.