android - 如何在可扩展的 ListView 组之间留出空白

标签 android expandablelistview

<分区>

有人能告诉我如何在 Expandable ListView 的组之间留出空白吗?我尝试了很多解决方案,但每当我给分隔线高度时,它总是会增加子分隔线的高度。我分别尝试了 android:divider="@drawable/group_separator"android:childDivider="@drawable/child_separator" 并尝试在 中分别以编程方式设置高度>getChildViewgetGroupView 但结果相同。它也总是增加子分隔符之间的空间,但我只想在组之间留出空间,即使它们之间没有项目。喜欢给 40dp 的空间,即使没有项目就像下图一样。任何帮助将不胜感激。提前致谢。

enter image description here

在我应用分隔线高度后,它变成了

enter image description here

最佳答案

回答我自己的问题,这样其他人可能会遇到这个问题,所以这里是经过多次尝试后的解决方案。我已经完成了一个条件,只需检查该组是否没有 child ,那么它应该设置白色布局将显示为白色空白区域,不需要填充、分隔符或边距等其他内容。就像在 getGroupView() 中的以下代码一样,您无需执行任何其他操作。我使用的 layout (blank_white_layout) 只是一个具有白色 backgroundrelativelayout 并且你可以根据您的需求。

if (getChildrenCount(groupPosition) == 0) {
            view = inflater.inflate(R.layout.blank_white_layout, null);
        }

下面是我的适配器类中完整的getGroupView代码

public View getGroupView(int groupPosition, boolean isExpanded, View convertView,
            ViewGroup parent) {

        if (groupPosition == 0 ) {
            convertView = inflater.inflate(R.layout.group_layout1, null);
        }

        if (getChildrenCount(groupPosition) == 0) {
            convertView = inflater.inflate(R.layout.blank_white_layout, null);
        }else{
            convertView = inflater.inflate(R.layout.group_layout2, null);
        }
        TextView text1 = (TextView) convertView.findViewById(android.R.id.text1);
        return convertView;
    }

关于android - 如何在可扩展的 ListView 组之间留出空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23107716/

相关文章:

android - 处理 subview 中内部切换按钮的 onclick 事件

android - 有没有办法将 TODO 标记为重要或任何其他标志?

java - 编译器是否优化了同一语句中对同一方法的多次调用?

android - GoogleAnalytics - 按用户对事件进行分组

android - ExpandableListView 中只有一组会展开

java - 当某些组为空时 ExpandableListView 崩溃

android - 在 Fragment 中设置焦点

android - java.lang.IllegalArgumentException : No Retrofit annotation found.(参数#1)

android - 带有 EditText 的 ExpandableListView

android - ExpandableListView 的子项中的 CheckBox 状态