RecyclerView с прокручиваемым CardView

Что я хотел бы сделать


У меня есть RecyclerView с разными CardView внутри. Для этого я написал RecycleView.Adapter с RecyclerView.ViewHolder. Который прекрасно работает.

Теперь я хотел бы иметь карты, на которых размещается ScrollView. Мой Layout для этого выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="5dp">

    <TextView
        android:id="@+id/tv_assignment_comments_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="false"
        android:gravity="left"
        android:text="Kommentare"
        android:textSize="@dimen/abc_text_size_large_material" />


    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="250dp"
        android:layout_below="@id/tv_assignment_comments_title"
        android:fillViewport="true">

        <LinearLayout
            android:id="@+id/ll_comments_card_holder"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" />
    </ScrollView>
</RelativeLayout>

Все идет нормально. Карта отображается, но я не могу прокручивать содержимое внутри ScrollView, только сам RecyclerView.

Как я могу сделать свой ScrollView прокручиваемым внутри RecyclerView? Кто-нибудь может показать мне магию?


person safari    schedule 11.03.2015    source источник
comment
спрашивал много раз, google для: прокручиваемый Android внутри прокручиваемый ... нет хорошего способа сделать это ...   -  person Selvin    schedule 11.03.2015
comment
@Selvin Я не уверен, что это та же проблема, но, тем не менее, спасибо   -  person safari    schedule 11.03.2015
comment
первая ссылка ListView внутри ScrollView не прокручивается на Android... это точно такая же проблема...   -  person Selvin    schedule 11.03.2015
comment
@Selvin Однако это ListView != RecyclerView, но я проверю   -  person safari    schedule 11.03.2015


Ответы (1)


Я мог бы решить проблему, добавив следующее к моему RecyclerView.ViewHolder:

mCommentsHolder.mCommentsScrollContainer.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    v.getParent().requestDisallowInterceptTouchEvent(true);
                    return false;
                }
            });

Теперь работает идеально ровно. Я получил это от здесь.

person safari    schedule 11.03.2015