【发布时间】:2014-03-05 14:09:31
【问题描述】:
我从可展开列表视图的组中删除子项时遇到问题。问题是当我的组被扩展并且我删除子“getChildView”时被调用 在我的 ListView 适配器上执行“notifyDataSetChanged”。我正在访问一个大小现在为零的数组并得到一个 Out Of Bounds 异常。我假设可扩展列表视图会自动删除视图,因为“getChildrenCount”返回 0。如果组折叠,则不会出现此问题。列表从不显示子视图,因为没有更多子视图。
我的问题是如何在可展开的 ListView 中删除展开组中的最后一个子项
这是我的代码示例。了解条件是组已展开,我已删除所有子项,此函数仍在调用中。
// This Function used to inflate child rows view
@Override
public View getChildView(
int groupPosition,
int childPosition,
boolean isLastChild,
View convertView,
ViewGroup parentView)
{
Trade t = objArray[groupPosition];
View childView = convertView;
if( childView == null )
{
LayoutInflater inflater = LayoutInflater.from(client);
childView = inflater.inflate(R.layout.item_textview, parentView, false);
ChildViewHolder childViewHolder = new ChildViewHolder();
childViewHolder.itemTextView = (TextView)childView.findViewById(R.id.itemTextView);
childView.setTag(childViewHolder);
}
ChildViewHolder childViewHolder = (ChildViewHolder)childView.getTag();
childViewHolder.itemTextView.setText("Term: " + t.getTradeTerms().get(childPosition));
return childView;
}
@Override
public int getChildrenCount(int groupPosition)
{
return objArray[groupPosition].getTradeTerms().size();
}
【问题讨论】:
标签: android listview android-listview expandablelistview