【发布时间】:2016-03-30 15:19:15
【问题描述】:
我正在使用内部具有异构视图的RecyclerView as seen in this tutorial。
我在 RecyclerView 中有一些项目也是 RecyclerViews。太难以想象?假设我想复制 Play 商店的布局:一个具有垂直线性布局并由许多元素填充的大型 RecyclerView:单个应用程序和应用程序轮播。
如果要添加的项目是单个应用程序的布局,则将使用 ID 1,我将为单个项目添加布局。 否则,如果我需要添加轮播,那么我将向主 RecyclerView 添加一个元素:另一个带有自己的适配器的 RecyclerView。
效果很好。除非您滚动主 RecyclerView。为什么?因为某些视图在不再可见时被销毁,然后在 onBindViewHolder() 方法中重新创建。为什么在这里?因为主RecyclerView的Adapter是传给位置X,然后调用OnBindViewHolder()。然后后者使用自己的适配器创建一个新的 RecyclerView 并将其分配给它。我想保留这些观点,因为它们每次都需要重新膨胀。
这可能吗?如果是的话,你能告诉我怎么做吗?
【问题讨论】:
标签: android android-layout android-recyclerview