0

Vertical scrolling RecyclerView

FieldRecyclerView:

<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
                    android:id="@+id/test_recyclerview2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:scrollbars="none" />

Row of the previous RecyclerView:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <LinearLayout
        android:id="@+id/boat_item"
        android:layout_width="@dimen/item_width"
        android:layout_height="@dimen/item_height"
        android:padding="6dp"
        android:gravity="center"
        android:background="@drawable/boat_list_row_style">
        <TextView
            android:id="@+id/boat_name_text_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Boat"
            android:textSize="14sp"
            android:textColor="@android:color/white"/>
    </LinearLayout>
    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_view_boat_grid"
        android:layout_width="wrap_content"
        android:layout_height="@dimen/item_height"
        android:layout_toRightOf="@id/boat_item"/>
</RelativeLayout>

Exceptions:

java.lang.StackOverflowError: stack size 8MB
    at android.support.v7.widget.ChildHelper.getOffset(ChildHelper.java:117)
      at android.support.v7.widget.ChildHelper.getChildAt(ChildHelper.java:180)
      at android.support.v7.widget.RecyclerView$LayoutManager.getChildAt(RecyclerView.java:7058)
      at android.support.v7.widget.LinearLayoutManager.getChildClosestToStart(LinearLayoutManager.java:1513)
      at android.support.v7.widget.LinearLayoutManager.updateLayoutState(LinearLayoutManager.java:1150)
      at android.support.v7.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1179)
      at android.support.v7.widget.LinearLayoutManager.scrollHorizontallyBy(LinearLayoutManager.java:1019)
      at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:1525)
      at android.support.v7.widget.RecyclerView.scrollBy(RecyclerView.java:1436)
      at com.industi.yachtproject.aligning_recyclerview.OnScrollListenerManagerOnItemTouchListener$1.onScrolled(OnScrollListenerManagerOnItemTouchListener.java:85)
      at android.support.v7.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:3954)
      at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:1557)
      at android.support.v7.widget.RecyclerView.scrollBy(RecyclerView.java:1436)
      at com.industi.yachtproject.aligning_recyclerview.OnScrollListenerManagerOnItemTouchListener$1.onScrolled(OnScrollListenerManagerOnItemTouchListener.java:85)
      at android.support.v7.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:3954)
      at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:1557)
      at android.support.v7.widget.RecyclerView.scrollBy(RecyclerView.java:1436)
      at com.industi.yachtproject.aligning_recyclerview.OnScrollListenerManagerOnItemTouchListener$1.onScrolled(OnScrollListenerManagerOnItemTouchListener.java:85)
      at android.support.v7.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:3954)
      at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:1557)
      at android.support.v7.widget.RecyclerView.scrollBy(RecyclerView.java:1436)
      at com.industi.yachtproject.aligning_recyclerview.OnScrollListenerManagerOnItemTouchListener$1.onScrolled(OnScrollListenerManagerOnItemTouchListener.java:85)
      at android.support.v7.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:3954)
      at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:1557)
      at android.support.v7.widget.RecyclerView.scrollBy(RecyclerView.java:1436)
      at com.industi.yachtproject.aligning_recyclerview.OnScrollListenerManagerOnItemTouchListener$1.onScrolled(OnScrollListenerManagerOnItemTouchListener.java:85)
      at android.support.v7.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:3954)
      at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:1557)
      at android.support.v7.widget.RecyclerView.scrollBy(RecyclerView.java:1436)
      at com.industi.yachtproject.aligning_recyclerview.OnScrollListenerManagerOnItemTouchListener$1.onScrolled(OnScrollListenerManagerOnItemTouchListener.java:85)
      at android.support.v7.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:3954)
      at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:1557)
      at android.support.v7.widget.RecyclerView.scrollBy(RecyclerView.java:1436)
      at com.industi.yachtproject.aligning_recyclerview.OnScrollListenerManagerOnItemTouchListener$1.onScrolled(OnScrollListenerManagerOnItemTouchListener.java:85)
      at android.support.v7.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:3954)
      at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:1557)
      at android.support.v7.widget.RecyclerView.scrollBy(RecyclerView.java:1436)
      at com.industi.yachtproject.aligning_recyclerview.OnScrollListenerManagerOnItemTouchListener$1.onScrolled(OnScrollListenerManagerOnItemTouchListener.java:85)
      at android.support.v7.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:3954)
    at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerVi

Activity screenshot

I need to make FieldRecyclerView scrolling vertical and horizontal. Also I need to have grid just like on the screen.

I decided to create row of the FieldRecyclerView that will contain the other RecyclerView, which is scrolling horizontal. So I got it vertical and horizontal view. Next I synchronized horizontal scrolling rows with AligningRecyclerView.

Everything is perfect, but then I add 10 rows and more, I got StackOverflow exception. Is there other way to create such view?

Sufian
  • 6,405
  • 16
  • 66
  • 120
Alex Boyko
  • 97
  • 2
  • 9

0 Answers0