6

我有以下 ExpandableListView:

<ExpandableListView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:id="@+id/listView"
            android:groupIndicator="@android:color/transparent"
            android:background="@color/app_background"
            android:scrollingCache="false"
            android:choiceMode="none"
            android:divider="@color/gray_dark"
            android:dividerHeight="2dp"
            android:childDivider="@color/gray_dark"
            android:cacheColorHint="@color/app_background"/>

我遇到的问题是可扩展列表视图没有绘制分隔线,或者至少不可见。我正在添加一个自定义视图作为组视图,并在我的可扩展适配器中添加自定义列表项。这会是个问题吗?

有谁知道我可以做些什么来为列表子项启用分隔符?

先感谢您。

4

2 回答 2

14

看来我的可扩展适配器有问题。我被以下方法覆盖:

@Override
public boolean areAllItemsEnabled() {
    return true;
}

我没有返回true我离开了返回false的方法,这就是问题所在......因此,如果有人遇到此问题,请检查该方法并确保它返回true而不是false

请注意,如果您扩展,则无需覆盖该方法BaseExpandableListAdapter

于 2012-08-28T15:28:19.410 回答
0

我从来没有试图弄乱 xml 中的分隔符,我总是通过代码来完成它。以下是一个片段,它将分隔线设置为红色,并在它从中心移动到边缘时淡出。只有一个分隔高度调用,因为该部分会影响组和孩子。

import android.graphics.drawable.GradientDrawable;
import android.graphics.drawable.GradientDrawable.Orientation;

// code to set up expandablelistview

int[] colors = {0, 0xFFFF0000, 0}; // red for the example 
getListView().setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors)); 
getListView().setChildDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors)); 
getListView().setDividerHeight(4); 
于 2012-08-27T16:11:47.600 回答