带有可滚动 CardView 的 RecyclerView
RecyclerView with Scrollable 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 中滚动?谁能告诉我魔法吗?
我可以通过在 RecyclerView.ViewHolder
中添加以下内容来解决问题:
mCommentsHolder.mCommentsScrollContainer.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
v.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});
现在它运行起来非常流畅。我从 here 那里得到了它。
我想做什么
我有一个 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 中滚动?谁能告诉我魔法吗?
我可以通过在 RecyclerView.ViewHolder
中添加以下内容来解决问题:
mCommentsHolder.mCommentsScrollContainer.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
v.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});
现在它运行起来非常流畅。我从 here 那里得到了它。