Android 可扩展回收视图:如何拥有不同的;“子行”;(项目展开时显示)是否具有不同的布局?

Android 可扩展回收视图:如何拥有不同的;“子行”;(项目展开时显示)是否具有不同的布局?,android,expandablelistview,android-recyclerview,Android,Expandablelistview,Android Recyclerview,我正在尝试使用,但我的要求是有一个可扩展的RecyclerView,不同的行有不同的布局。 因此,我首先编写了一个小示例应用程序来测试库项目现在我需要让它对不同的子行使用不同的布局-即,当用户单击列表中的某个项目(现在我们称之为父行)时,它会展开以显示其子行,如下面的屏幕截图所示 但是我需要为不同的子行使用不同的布局。我四处寻找,发现很简单很好。所以我想像示例中那样,通过扩展ViewGroup 在这种方法中,它们使用不同的视图组(每个视图组对应于行样式的布局)扩展主视图组。然后在Recycle

我正在尝试使用,但我的要求是有一个可扩展的RecyclerView,不同的行有不同的布局。

因此,我首先编写了一个小示例应用程序来测试库项目现在我需要让它对不同的子行使用不同的布局-即,当用户单击列表中的某个项目(现在我们称之为父行)时,它会展开以显示其子行,如下面的屏幕截图所示

但是我需要为不同的子行使用不同的布局。我四处寻找,发现很简单很好。所以我想像示例中那样,通过扩展ViewGroup

在这种方法中,它们使用不同的视图组(每个视图组对应于行样式的布局)扩展主视图组。然后在
RecyclerAdapter
getItemViewType
中,他们根据方法中传递的
位置决定返回的
viewtype
,然后在
onCreateViewHolder
中,根据传递的
viewtype
决定要充气的布局

在我的用例中,如果是
父行
我需要多个布局
,那就很简单了,因为它是包含要在
父行
中显示的数据的数据列表,它被传递到我们的
ExpandableRecyclerAdapter
。因此,在我们的
getItemViewType
中,我们可以执行以下操作

@Override
public int getItemViewType ( int position ) {
    int viewType;
    if ( groups.get ( position ).getImagePath () != null ) { //****groups is the list containing the data to be displayed in the recyclerview's "parent" items
        ...
    } else {
        ...
    }
    return viewType;
}
其中
groups
是传递给
RecycleServiceAdapter
ArrayList
,其中包含要在父行中显示的数据

ArrayList
包含类型为
ParentObject
的对象(实际上是我编写的一个类,它扩展了
ParentObject
)。在该类中,名为
getChildObjectList
的方法返回一个
List
,其中包含要在子行中显示的数据。

问题:

因此,我不能在类中拥有
getItemViewType
RecycleServiceAdapter
的全部功能,该类扩展了
ParentObject
,即(创建)并返回
ArrayList
,该列表包含要在子行中显示的数据。

那我该怎么做呢?