如何在ExpandableListView中删除特定组(行)的箭头

时间:2014-01-12 22:53:00

标签: android expandablelistview

默认情况下,每个组都有一个向下箭头,指示用户可以展开该项目。但是,我有一个没有孩子的小组;因此,我希望箭头不显示在这个项目上。

1 个答案:

答案 0 :(得分:4)

根据文件:

  

public void setGroupIndicator(Drawable groupIndicator)
   设置要在组旁边绘制的指标。

     

<强>参数    groupIndicator 用作指标的drawable。如果该组为空,则将设置状态state_empty。如果该组已展开,则将设置状态state_expanded

所以假设,这应该已经做了正确的事情......但是,如果你使用自己的自定义ExpandableListAdapter,例如使用TextViews,你可以使用以下代码:

// in your main file where the List is defined:
mExpandableList.setGroupIndicator(null); // this will remove the indicator

然后在您的自定义适配器中,您可以执行以下操作:

@Override
public View getGroupView(int groupPosition, boolean isExpanded,
        View convertView, ViewGroup parent) {

    View v;
    ...
    // code to retrieve convertView or inflate new one and assign to v
    ...

    TextView tv = ((TextView) v);
    int iconId;  // assume we have an icon we want to have on the left of each group
    int expandableGroupResId;

    if (getChildrenCount(groupPosition) > 0) {
        if (isExpanded) expandableGroupResId = R.drawable.expander_ic_maximized;
        else expandableGroupResId = R.drawable.expander_ic_minimized;
    }
    tv.setCompoundDrawablesWithIntrinsicBounds(iconId, 0, expandableGroupResId, 0);
}