Android 安卓-实现Instagram应用程序等评论列表的最佳方式是什么

Android 安卓-实现Instagram应用程序等评论列表的最佳方式是什么,android,android-studio,kotlin,Android,Android Studio,Kotlin,我想实现一个类似Instagram应用程序的评论列表页面,如果你没有看到,下面有一个屏幕截图 我已经为每个邮件回复实现了一个父回收器视图和另一个回收器视图,但是它在滚动时很滞后 我想知道实现这种设计的最佳方式是什么。这种滞后的滚动很可能是将RecyclerViews嵌套在彼此之间的结果。这几乎是你永远不想做的事情。 相反,我建议只使用一个RecyclerView,并根据相应注释的缩进级别(即,它是顶级注释还是响应)更新项目视图的左边距或填充 我假设您的数据模型当前正在镜像嵌套在父注释中的嵌套结构

我想实现一个类似Instagram应用程序的评论列表页面,如果你没有看到,下面有一个屏幕截图

我已经为每个邮件回复实现了一个父回收器视图和另一个回收器视图,但是它在滚动时很滞后


我想知道实现这种设计的最佳方式是什么。

这种滞后的滚动很可能是将RecyclerViews嵌套在彼此之间的结果。这几乎是你永远不想做的事情。 相反,我建议只使用一个RecyclerView,并根据相应注释的缩进级别(即,它是顶级注释还是响应)更新项目视图的左边距或填充


我假设您的数据模型当前正在镜像嵌套在父注释中的嵌套结构子注释,因此您必须首先将其转换为平面列表,并将缩进级别添加为每个注释的属性。

我认为滚动延迟是很自然的,因为同时有两个滚动操作。父RecyclerView会认为是我向下滚动的时候了,子RecyclerView也会尝试以类似的方式对用户的滚动进行相应的操作。为了解决这个滞后问题,我建议禁用child RecyclerView的滚动操作,只需将其添加到LayoutManger中,如下所示

LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false){
    @Override
    public boolean canScrollVertically(){
        return false;
    }
};
您也可以尝试禁用嵌套滚动,如下所示:

yourRecyclerview.setNestedScrollingEnabled(false);
或者,您可以更改定义RecyclerView的xml文件中的值:

<android.support.v7.widget.RecyclerView
android:id="@+id/yourRecyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:nestedScrollingEnabled="false"/>
如果不起作用,请先尝试禁用内部回收视图的滚动;我会建议更好的设计以及