我有一个RecyclerView,里面有一个RecyclerView。子RecyclerView不能滚动我试着把一个子RecyclerView放在一个scrollView NeastedCrollView里面,但是不起作用:
不,我有这个父recyclerView:
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/vehicle_list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="@dimen/text_dp_20"
android:paddingTop="10dp"
android:scrollbars="none"
tools:ignore="MissingConstraints" />这是一个子列表:
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom|center_horizontal"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="100dp"
android:scrollbars="none" />
</androidx.core.widget.NestedScrollView>发布于 2020-09-22 13:09:55
首先,不要使用NestedScrollView,RecyclerView会处理所有关于滚动的事情!使用以下链接指南来改进和优化您的RecyclerViews,这里有一些有用的参考:https://www.geeksforgeeks.org/how-to-create-a-nested-recyclerview-in-android/ https://android.jlelse.eu/easily-adding-nested-recycler-view-in-android-a7e9f7f04047
一步一步地跟着他们!
发布于 2020-09-23 13:13:28
在main activity中,您首先需要一个recylerView
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"/> 2-在MainActivity.java中:
LinearLayoutManager layoutManager = new LinearLayoutManager(MainActivity.this);
ItemAdapter itemAdapter = new ItemAdapter(buildItemList());
rvItem.setAdapter(itemAdapter);
rvItem.setLayoutManager(layoutManager);布局适配器中的3- recyclerView:
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_sub_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>4英寸适配器:
LinearLayoutManager layoutManager = new LinearLayoutManager(
itemViewHolder.rvSubItem.getContext(),
LinearLayoutManager.VERTICAL,
false
);
layoutManager.setInitialPrefetchItemCount(item.getSubItemList().size());
// Create sub item view adapter
SubItemAdapter subItemAdapter = new SubItemAdapter(item.getSubItemList());
itemViewHolder.rvSubItem.setLayoutManager(layoutManager);
itemViewHolder.rvSubItem.setAdapter(subItemAdapter);
itemViewHolder.rvSubItem.setRecycledViewPool(viewPool);结束了。
您可以在link中看到完整的代码
https://stackoverflow.com/questions/64003261
复制相似问题