在Android Lollipop上的单击禁用元素上未显示ListView Divider

时间:2015-05-21 10:31:11

标签: android listview android-listview

我有一个填充了多个元素的ListView。如果满足条件,则某些元素将变为单击禁用。另外,我为ListView制作了一个自定义分隔符。问题是,只有在Lollipop版本的Android上,如果某个元素被禁用,则不再显示分隔符。在其他版本的Android上它完美运行,问题仅出现在Android 5.0 +上。

禁用项目的代码

@Override
public boolean isEnabled(int position) {
    Account account = this.items.get(position);
    if (account.getActive.equals("Inactive")) {
        return false;
    }
    return true;
}

ListView xml

<ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:choiceMode="singleChoice"
        android:divider="@drawable/separator_listview"
        android:dividerHeight="1dp" >
</ListView>

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

要为ListView添加分隔符,您需要创建一个drawable 的 RES /抽拉/ divider.xml

<shape
    android:shape="rectangle" >
    <solid android:color="@color/custom_color" />
    <gradient android:height="1dp" />
</shape>

<强> Listview.xml

<ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:choiceMode="singleChoice"
        android:divider="@drawable/drawable"
        android:dividerHeight="1dp" >
</ListView>