【发布时间】:2022-03-03 17:21:17
【问题描述】:
我有两个RecyclerView,都是垂直方向的,我需要滚动其中一个让第二个滚动,也就是它们的滚动是同步的,我认为可以应用一个LinearLayoutManager这两个 RecyclerView,然后就可以了,但是在这个日志中,会产生错误LinearLayoutManager is already attached to a RecyclerView,所以我不知道怎么回事,帮我想办法,我需要两个独立的 RecyclerView和不同的适配器,但同步滚动,所以不要写GridLayoutManager,谢谢。
xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_0"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:clipToPadding="false"
android:orientation="vertical"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:clipToPadding="false"
android:orientation="vertical"/>
</LinearLayout>
鳕鱼
val RLM_0 = LinearLayoutManager(context)
rv_0.setHasFixedSize(false)
rv_0.isNestedScrollingEnabled = false
rv_0.layoutManager = RLM_0
adapter_0 = Adapter_0(itemTasks, requireActivity())
rv_0.adapter = adapter_0
val RLM_1 = LinearLayoutManager(context)
rv_1.setHasFixedSize(false)
rv_1.isNestedScrollingEnabled = false
rv_1.layoutManager = RLM_1
adapter_1 = Adapter_1(itemTasks, requireActivity())
rv_1.adapter = adapter_1
【问题讨论】:
-
问题是为什么需要两个滚动同步的recyclerview?虽然可能它比您可能需要的复杂得多。您可以只拥有一个具有标准线性布局的回收站视图,并且每个项目(行)包含您
always想要并排显示的 2 个视图。 (所以不是 GridLayoutManager :-))
标签: android android-recyclerview