[英]android RecyclerView inside a RecyclerView
我有一個 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>
首先,不要使用NestedScrollView
, RecyclerView
處理關於滾動的一切! 使用下面的鏈接准則改進和優化您的RecyclerViews,這里的一些有益的參考: https://www.geeksforgeeks.org/how-to-create-a-nested-recyclerview-in-android/ HTTPS://android.jlelse .eu/easy-adding-nested-recycler-view-in-android-a7e9f7f04047
一步一步地跟隨其中之一!
您首先需要在主要活動中的一個 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);
結束。
你在鏈接中看到完整的代碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.