android – Black Line Under Some ListView Items-ThrowExceptions

Exception or error:

Interesting problem I’m having with a ListView. It’s using a standard ArrayAdapter, with a custom XML layout for the items within. Simple XML:

<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:background="@drawable/list_bg_blue"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingTop="20dp"
    android:paddingBottom="20dp"
    android:typeface="serif"
    android:textSize="20px"
    android:textStyle="bold|italic" 
    android:textColor="#FF1e5a82"
    android:shadowColor="#FFFFFFFF"
    android:shadowDx="1"
    android:shadowDy="1"
    android:shadowRadius="1"
/>

I don’t think there’s anything in there that is a problem, but I’m having some strange black lines showing up that I can’t seem to get rid of (you can see it in the picture below). I’ve tried setting android:dividerHeight="0px" in the ListView, but these still appear. You can see between New Episodes and Shows that there is no line, but for some reason there is after the first and last.

Any ideas?

EDIT: Did some more thinking, seems to be just the first and the last, so I found:

android:headerDividersEnabled and
android:footerDividersEnabled

Setting footers to false fixed the last one, but oddly setting header dividers to false had no effect. :/

EVEN MORE EDITS!: Okay, so I added a few more items to the list (should have done that first), and it seems to be every other item (e.g. item 1, item 3, item 5, and so on) that has a divider appearing below it.

Lines on ListView

How to solve:

You could say

<ListView
    ...
    android:divider="@null"
    ...
/>

The divider should be inserted after every entry by default.

###

I hate answering my own question, but I found a solution:

ListView lv = getListView();
lv.setDivider(null);

This fixed the problem. I’d still like to know a way to do this with XML, however, and understand why it’s inserting them only at every other item.

###

You can set it in xml with: android:divider=”@null”

Leave a Reply

Your email address will not be published. Required fields are marked *