在Android中为不同的组设置不同的指示器

5

我希望了解如何在可扩展列表视图中为不同的组设置不同的指示器。

我尝试过:

if(true condition for a group say groupA)
{
    getExpandableListView().setGroupIndicator(getResources().getDrawable(R.drawable.image));
}

但是上面的代码为视图中的所有组设置了指示器!我希望每个组有不同的指示器,例如:

groupA有一个不同的指示器;groupB有一个不同的指示器;groupC有一个不同的指示器

其中groupA、groupB和groupC都有一定数量的子元素。

有人能提供建议吗?

- Adithya。


有没有符合我的需求的解决方案?如果有,请告诉我。 - Adithya
很多时间已经过去了。我认为(也希望)你已经解决了你的问题。如果没有,对于未来遇到相同问题的用户,请参考这个教程:http://androidexample.com/Custom_Expandable_ListView_Tutorial_-_Android_Example/index.php?view=article_discription&aid=107&aaid=129 - Phantômaxx
1个回答

1

为了在可扩展列表视图中创建不同的指示器, 首先需要为可扩展ListView创建适配器。 为所有不同的指示器创建自定义布局。

现在在您的getGroupView方法中实现。

@Override
    public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {  
LayoutInflater infalInflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);


            if (groupPosition == 0) {
                convertView = infalInflater.inflate(INFLATE YOUT LAYOUT HERE, null);
            } else if (groupPosition == 1) {
                convertView = infalInflater.inflate(INFLATE YOUT LAYOUT HERE, null);
            }else if (groupPosition == 2) {
                convertView = infalInflater.inflate(INFLATE YOUT LAYOUT HERE, null);
            }
}

尝试这个,这对我来说有效... 希望这对你有所帮助。


我模糊地记得很久以前我曾经做过类似的事情。我需要写整个代码并查看 :) - Adithya
请告诉我它是否能正常工作,因为在我的当前应用程序中,我有许多可扩展的列表,并且使用此代码解决了该问题并且正常工作。如果这个答案对你有帮助,请接受它。 - Arvind Kanjariya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接