1

我有一个扩展的类(ExpandableListDataClassBaseExpandableListAdapter

我正在从下面调用ExpandableListDataClassActivity

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

类别是一个字符串数组。这意味着 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);
}

但我想从中删除的是eBooksImageAdapterForExpandableListeBrochuresImageAdapterForExpandableList。因为现在我正在做的是ArrayList根据现有的类别进行创作。但是当我不知道有多少类别/groupCount 时,我不能这样做。

请给我一个解决方案

4

1 回答 1

0

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

我将在后面解释它。

getChildView()我必须给出以下代码行

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

getChildView()位于扩展BaseExpandableListAdapter. _

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

于 2012-07-20T11:40:24.580 回答