Android:如何从ExpandableListView中删除标题视图?

Android:如何从ExpandableListView中删除标题视图?,android,header,expandablelistview,Android,Header,Expandablelistview,我的标题视图中有不同的按钮,用于对列表中的条目进行排序。问题是,当我将标题视图重新添加到listview时,标题视图将出现多次(这取决于我对列表排序的次数),这不是正确的方式。标题视图应该出现一次 我试过什么: // Create a new instance of a sorting view SortingView header = new SortingView(getActivity(), new int[] {R.id.btnAsc, R.id.btnDesc, R.id.btnAll

我的标题视图中有不同的按钮,用于对列表中的条目进行排序。问题是,当我将标题视图重新添加到listview时,标题视图将出现多次(这取决于我对列表排序的次数),这不是正确的方式。标题视图应该出现一次

我试过什么:

// Create a new instance of a sorting view
SortingView header = new SortingView(getActivity(), new int[] {R.id.btnAsc, R.id.btnDesc, R.id.btnAll});

// If an item is pressed, then collapse the last expanded group view
header.setOnItemClickListener(new View.OnClickListener(){
   @Override(View v) {
      expListView.collapsGroupView(mLastExpandedView);
   }
});    

// The exp list-view is having a header view
// REMOVE THE HEADER VIEW
if (expListView.getHeaderViewsCount() != 0) {
   expListView.removeHeaderView(header);
}

// Add the new header view
expListView.addHeader(header);
expListView.setAdapter(mEntries);
它不起作用了。。。我不知道该怎么办


注意:我不想隐藏/显示标题视图,因为我正在传递多个侦听器(事件侦听器)、对象等,我想创建此类的新实例。

您没有删除以前添加的标题视图;您正试图删除新创建的SortingView实例。看:

SortingView header = new SortingView(getActivity(), new int[] {R.id.btnAsc, R.id.btnDesc, R.id.btnAll});
...
expListView.removeHeaderView(header);
如果此SortingView实例尚未添加为标头,您希望如何删除它


您需要存储对以前添加的标题的引用,以便删除它们。

成功了,我所要做的就是将SortingView设置为全局,然后如果对象不为null且listview包含的headerviews超过0,则尝试删除标题视图。