RecyclerView inside ScrollView, some items are not shown
I had a RecyclerView in ScrollView like this:
<ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <!--other stuff--> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="wrap_content" android:visibility="gone"/> </LinearLayout> <!--other stuff--> </ScrollView>
RecyclerView‘s item is a
RelativeLayout, inside of which there is an
EditText and other views. The
layout_height of that
EditText is both
wrap_content. User can input into that
EditText without any limit of length/lines so that each item’s height is different.
Then I found that
Adapter returns true value but
onBindViewHolder() is called of wrong times(less than it should be), thus not enough to show all items.
I found that this will happen only if I wrote
recyclerView.setNestedScrollingEnabled(false). But I cannot remove this line. Because if I did so, the
RecyclerView won’t scroll smoothly and is not harmonious with other views inside
This occurs on 6.0 but not on 4.1.
I communicated with Google at this page: https://code.google.com/p/android/issues/detail?id=213914 and he told me this is a bug fix for
RecyclerView. You can visit that page so that you can understand the question and my goal better(There is a small sample project to show the problem there). I don’t agree with him even now and I want to solve the problem. Please help, thank you in advance.
One Solution collect form web for “RecyclerView inside ScrollView, some items are not shown”
I found the solution myself: replace
NestedScrollView and keep
recyclerView.setNestedScrollingEnabled(false). I don’t know if this is what
NestedScrollView is made for but it works.
NestedScrollViewis not a child of
- This solution will also bring some bugs with self-simulated