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

标签 android header expandablelistview

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

我尝试了什么:

// 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);

它不工作...我不知道我该怎么办。

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

最佳答案

您并没有删除之前添加的标题 View ;您正在尝试删除新创建的 SortingView 实例。看:

SortingView header = new SortingView(getActivity(), new int[] {R.id.btnAsc, R.id.btnDesc, R.id.btnAll});
...
expListView.removeHeaderView(header);

如果此 SortingView 实例尚未添加为 header ,您希望如何删除它?

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

关于Android:如何从 ExpandableListView 中删除标题 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26977057/

相关文章:

android - 为什么我不能使用 getContentResolver.. 删除?

android - 在不打开邮箱的情况下使用 PhoneGap 发送邮件

html - 什么 CSP 更安全 - style-src 'none' 或 style-src 'unsafe-inline'

c - tcp ip 检查我遗漏了一些东西

android - 可扩展的 ListView ,如 android 中的 TreeView

android - java.lang.RuntimeException : Unable to start activity ComponentInfo 错误

android - 将时间转换为本地时区

javascript - 我可以为所有 AJAX 请求设置全局 header 吗?

android - 使用 expandablelistview 在 android 中的另一个组中动态创建组。

Android ExpandableListView 和 SQLite 数据库