Android 在ExpandableList中隐藏组视图
我有一个使用两个游标的可扩展列表:一个用于组,另一个用于与组相关的儿童。 用户可以在此可扩展列表上使用筛选器(alphaindexer)。 我想在没有子对象(不仅仅是图标:)时完全删除groupview。就像我删除了空组的行一样 我尝试在bindgroupview方法中将可见性设置为gone。我尝试设置组视图的布局高度……结果是相同的,空间仍然保留并显示 有可能吗?我该如何使用此功能 下面是一些代码:Android 在ExpandableList中隐藏组视图,android,expandablelistview,Android,Expandablelistview,我有一个使用两个游标的可扩展列表:一个用于组,另一个用于与组相关的儿童。 用户可以在此可扩展列表上使用筛选器(alphaindexer)。 我想在没有子对象(不仅仅是图标:)时完全删除groupview。就像我删除了空组的行一样 我尝试在bindgroupview方法中将可见性设置为gone。我尝试设置组视图的布局高度……结果是相同的,空间仍然保留并显示 有可能吗?我该如何使用此功能 下面是一些代码: // mMapSeqArticle is TreeMap<Object, ArrayLi
// mMapSeqArticle is TreeMap<Object, ArrayList<Object>)
mSequenceAdapter = new SequenceCommandeAdapter(getActivity(), mMapSeqArticle);
public class SequenceCommandeAdapter extends BaseExpandableListAdapter {
Object[] mGroupSeq = null;
Map<Sequence, ArrayList<TicketArticle>> mContent;
public SequenceCommandeAdapter(Context c,
Map<Sequence, ArrayList<TicketArticle>> map) {
mContent = map;
mGroupSeq = mContent.keySet().toArray();
}
@Override
public Object getChild(int groupPosition, int childPosition) {
Sequence s = (Sequence) mGroupSeq[groupPosition];
return ((ArrayList<TicketArticle>) (mContent.get(s)))
.get(childPosition);
}
@Override
public long getChildId(int groupPosition, int childPosition) {
Sequence s = (Sequence) mGroupSeq[groupPosition];
return ((ArrayList<TicketArticle>) (mContent.get(s)))
.get(childPosition).mId;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
// retrouve la valeur de la sequence
TicketArticle ta = (TicketArticle) getChild(groupPosition,
childPosition);
if (convertView == null) {
convertView = LayoutInflater.from(getActivity()).inflate(
R.layout.adapter_row_article_details_table, null);
}
convertView.setTag(groupPosition + ":" + childPosition);
return convertView;
}
@Override
public int getChildrenCount(int groupPosition) {
Sequence s = (Sequence) mGroupSeq[groupPosition];
return ((ArrayList<TicketArticle>) (mContent.get(s))).size();
}
@Override
public Object getGroup(int groupPosition) {
return (Sequence) mGroupSeq[groupPosition];// mContent.get(groupPosition);
}
@Override
public int getGroupCount() {
return mContent.size();
}
@Override
public long getGroupId(int groupPosition) {
return ((Sequence) mGroupSeq[groupPosition]).key;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(getActivity()).inflate(
R.layout.adapter_header_sequence_details_table, null);
}
convertView.setTag(null);
return convertView;
}
@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return true;
}
}
//mMapSeqArticle is TreeMap我在代码中没有看到bindGroupView方法,但是从您所描述的内容来看,听起来您的思路是正确的。我必须将组的所有子视图(包括布局)的可见性设置为“消失”,以便组行从可展开列表视图中完全消失。否则,将保留空行
如果您发布R.layout.adapter\u header\u sequence\u details\u table的内容,我会更好地了解您需要做的其他事情