RecyclerView wrap_content在API 23及更高版本上不起作用

时间:2019-05-20 14:18:14

标签: android android-recyclerview android-linearlayout android-nestedscrollview android-wrap-content

我在LinearLayout内有一个带有RecyclerView的布局,该布局也在一个自定义的NestedScrollView内。在api 21和22中,布局看起来像应该显示RecyclerView的所有元素,但是在api 23及更高版本中,仅显示一两个项目,而其余屏幕空白。我知道RecyclerView的要点是不使用wrap_content,但是据我了解,可以。

我注意到,当RecyclerView上方的视图可见时,recyclerview上的wrap_content可以正常工作,但是在特殊情况下,我遇到了那些视图均已通过编程方式设置为消失的问题,因此似乎有事可做接着就,随即。因此,我不确定该怎么做,因为这些视图应该消失了。这是我无法解决的Android SDK错误吗?

<CustomNestedScrollView
                    android:id="@+id/editProfileScroll"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:scrollbars="vertical">

                    <LinearLayout
                        android:id="@+id/editProfileMainContainer"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="@dimen/material_baseline_grid_10x"
                        android:orientation="vertical">

                        <!-- More code: TextViews and TextViews inside LinearLayouts -->

                        <androidx.recyclerview.widget.RecyclerView
                            android:id="@+id/editProfileFieldsRV"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content" />

                    </LinearLayout>

                </CustomNestedScrollView>

1 个答案:

答案 0 :(得分:0)

尝试使用list代替dct['ingredients']


使用RelativeLayout,您必须设置

LinearLayout

,并且必须在每个元素中添加LinearLayout

通过上述操作,它将在垂直轴上均匀分布3个项目。