ExpandableListView中的组和子分隔符

时间:2015-05-19 08:49:54

标签: android android-listview expandablelistview

您好我希望在组行之间有分隔符,而不是在子行之间。我正在使用:

android:divider="#A8A8A8"
android:dividerHeight="5.0sp"

在组行之间获取空间但是孩子呢?我尝试使用android:childDivider="@null"android:childDivider="#00000000",但它无法正常使用。我也在组布局中使用View元素,但我不认为它是非常好的解决方案。如果我想在儿童中使用不同的分隔符而不是在组中,我的意思是不同的高度和颜色?是否可以在布局中不使用View元素? 如果没有其他可能性我可以在组行中使用View元素但是在展开listview之后我应该在哪里隐藏它然后显示它?

1 个答案:

答案 0 :(得分:0)

所以我决定使用View元素来做这件事,但有时它没有任何理由就不会消失。我虽然可能是由Threads问题,但我尝试在Ui Thread上运行,但它没有帮助。这是我的代码,我也使用AnimatedExpandableListView https://github.com/idunnololz/AnimatedExpandableListView

expandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
  @Override
  public boolean onGroupClick(ExpandableListView parent, final View v, final int groupPosition, long id) {
    Boolean shouldExpand = (!expandableListView.isGroupExpanded(groupPosition));
    if (shouldExpand) {
      if (currentlyExpanded != -1) {
        expandableListView.collapseGroup(currentlyExpanded);
        View view = getViewByPosition(currentlyExpanded, expandableListView).findViewById(R.id.dummyView);
        if (view != null) {
          view.setVisibility(View.VISIBLE);
        }
      }
      expandableListView.expandGroupWithAnimation(groupPosition);
      smoothScrollToPositionFromTop(expandableListView, groupPosition);
      v.findViewById(R.id.dummyView).setVisibility(View.GONE);
      currentlyExpanded = groupPosition;
      return true;
    }
    v.findViewById(R.id.dummyView).setVisibility(View.VISIBLE);
    return false;
  }
});