nestedscrollview中的Recyclerview突然切掉

时间:2019-06-23 13:37:51

标签: android

在nextedscrollview内部创建了Recyclerview。在recyclerview中的第一项突然显示为recylerview。但是,当我在横向模式下旋转手机,再旋转回纵向模式时,滚动显示正确显示了recyclerview列表。有人可以指出这里出了什么问题吗?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    tools:context=".form.FragmentFormSummary">

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
            <android.support.v7.widget.CardView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal">
                <Spinner
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal">
                </Spinner>
            </android.support.v7.widget.CardView>

            <com.github.mikephil.charting.charts.PieChart
                android:layout_width="300dp"
                android:layout_height="300dp"
                android:layout_gravity="center_horizontal"/>

            <android.support.v7.widget.RecyclerView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:nestedScrollingEnabled="false"
                android:paddingTop="16dp"
                android:paddingBottom="16dp"
                android:clipToPadding="false"
                android:clipChildren="false">
            </android.support.v7.widget.RecyclerView>
        </LinearLayout>
    </android.support.v4.widget.NestedScrollView>

</LinearLayout>

2 个答案:

答案 0 :(得分:1)

请勿将NestedScroll视图用作RecyclerView的包装器。这不是一个好习惯。

您应该改用RecyclerView ViewType:https://medium.com/@gilbertchristopher/a-recyclerview-with-multiple-view-type-22619a5ad365

答案 1 :(得分:0)

您需要添加

app:layout_behavior="@string/appbar_scrolling_view_behavior"

到回收站视图