在Android中为未知的groupCount显示ExpandableListView中的GridView

时间:2012-07-20 09:20:49

标签: android gridview expandablelistview

我有一个类( ExpandableListDataClass ),它扩展了BaseExpandableListAdapter

我从Activity调用 ExpandableListDataClass ,如下所示;

ExpandableListDataClass expandableListDataClass = new ExpandableListDataClass(this, categories);
categoryExpandableListView.setAdapter(expandableListDataClass);

类别 是一个String数组。这意味着 ExpandableListDataClass 的groupCount取决于 类别 。 最糟糕的是,我正在加载GridView以扩展ExpandableListView中的群组项。那些GridView根据类别显示不同的数据。

如果我在getChildView()中使用以下代码,那就完全正常了

if(getGroup(groupPosition).toString().equals("ebooks")){
    expandableListInsideGridView.setAdapter(eBooksImageAdapterForExpandableList);
}else if(getGroup(groupPosition).toString().equals("ebrochures")){
    expandableListInsideGridView.setAdapter(eBrochuresImageAdapterForExpandableList);
}

但我要删除的是 eBooksImageAdapterForExpandableList eBrochuresImageAdapterForExpandableList 。因为现在我正在做的是根据现有类别创建ArrayList。 但是当我不知道有多少类/ groupCount时,我不能那样做。

请给我一个解决方案

1 个答案:

答案 0 :(得分:0)

最后我找到了一个解决方案: - )

我将向后解释。

getChildView()我必须提供以下代码行

expandableListInsideGridView.setAdapter(new ImageAdapterForExpandableList(expandableListDataClassContext, eItemThumbCachePathArrayListContainer.get(groupPosition), eItemNamesArrayListContainer.get(groupPosition), eItemUrlArrayListContainer.get(groupPosition)));

getChildView()位于 ExpandableListDataClass 中,扩展了BaseExpandableListAdapter

我要做的是声明一个ArrayList,其中包含一些相同类型的其他ArraLists。如果我使用我的代码解释更多 eItemThumbCachePathArrayListContainer ArrayList,其中包含我想传递的String类型的ArrayLists。这是我使用的简单逻辑,它对我有用。