Android NestedScrollView嵌套多个RecyclerView的问题

最近在做一个项目,首页需要多个RecyclerView,所以我使用NestedScrollView来嵌套,如下所示。

布局文件的结构大概是这样:

<?xml version="1.0" encoding="utf-8"?><android.support.design.widget.CoordinatorLayout     xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:app="http://schemas.android.com/apk/res-auto"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     tools:context="com.sherlock.sectiontv.activity.customer.HomeActivity">     <android.support.v4.widget.SwipeRefreshLayout         android:id="@+id/home_swipe_refresh"         android:layout_width="match_parent"         android:layout_height="match_parent">         <android.support.v4.widget.NestedScrollView             android:layout_width="match_parent"             android:layout_height="wrap_content"             app:layout_behavior="@string/appbar_scrolling_view_behavior">             <LinearLayout                 android:layout_width="match_parent"                 android:layout_height="wrap_content"                 android:orientation="vertical">                             <!-- banner和多个rv -->             </LinearLayout>         </android.support.v4.widget.NestedScrollView>     </android.support.v4.widget.SwipeRefreshLayout></android.support.design.widget.CoordinatorLayout>

在代码中,进行了如下设置:

mHomeRvArticle.setAdapter(new HomeArticleAdapter(HomeActivity.this, jsonArray)); LinearLayoutManager layoutManager = new LinearLayoutManager(HomeActivity.this,          LinearLayoutManager.VERTICAL, false); layoutManager.setSmoothScrollbarEnabled(true); layoutManager.setAutoMeasureEnabled(true); mHomeRvArticle.setLayoutManager(layoutManager); mHomeRvArticle.setHasFixedSize(true); mHomeRvArticle.setNestedScrollingEnabled(false);

最后代码运行,在Android5.0, 6.0都没问题,但是在Android7.1下一卡一卡的,有大神知道原因吗~


东方未曦 2个月以前发出此问题
回答即可得2分,答案被采纳则奖励20分。

共2条回答

不要这样做,你这种情况完全可以用多个item type来实现。
recyclerView.setHasFixedSize(true); recyclerView.setNestedScrollingEnabled(false); 然后不行的 百度这个问题,有许多解决方案啊,.