如何显示未分组和分组的项目列表。 (ListView vs ExpandableListView)

时间:2015-04-28 08:32:24

标签: android listview expandablelistview

我试图以用户动态选择的各种形式显示项目(歌曲)列表。我根据用户的选择使用ExpandableListView按专辑,艺术家或年份进行分组。当选择更改时,它会自动重新组合项目。

使这更复杂的原因是这些项目是搜索的结果,可能仍在进行中。因此,搜索线程类和适配器(BaseExpandableListAdapter)之间存在相当强的耦合,因此搜索可以动态地将数据泵入组并在最多两分钟的时间段内生成新组。这一切都很好。

我的问题是如何切换到显示未分组的所有曲目。似乎没有显示没有组项的子项的选项。目前,我已经通过创建一个团队"所有项目"来解决这个问题。这在UI上看起来并不好看。我已经尝试将其设置为展开和展示GONE,但仍然保留了组项目,只是空白。有没有更好的解决方案?

1 个答案:

答案 0 :(得分:0)

如何同时使用ListView和ExpandableListView,在相对布局中相互重叠?

然后你可以使用这样的东西从一个切换到另一个

public void setListViewMode(boolean isExpandable){
    findViewById(R.id.my_expandable_listview).setVisibility(isExpandable ? View.VISIBLE : View.GONE);
    findViewById(R.id.my_normal_listview).setVisibility(!isExpandable ? View.VISIBLE : View.GONE);
}   

或其他方式(可能更简单):

您是否尝试隐藏

中的视图组
public View getGroupView(){

    ...

    convertView.setVisibility(isExpandable ? View.VISIBLE : View.GONE);
    return convertView;
}

或者也许:

getExpandableListView().setGroupIndicator(null);