2010-11-27 3 views
19

Интересная проблема, с которой я сталкиваюсь с ListView. Он использует стандартный ArrayAdapter с настраиваемым XML-макетом для элементов внутри. Простой XML:Черная линия под некоторыми элементами ListView

<?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" 
/> 

Я не думаю, что есть что-то там, что это проблема, но у меня возникают какие-то странные черные линии, показывающие вверх, что я не могу избавиться от (вы можете увидеть его на рисунке ниже). Я попытался установить android:dividerHeight="0px" в ListView, но они все еще появляются. Вы можете видеть между новыми эпизодами и шоу, что нет линии, но почему-то есть после первого и последнего.

Любые идеи?

EDIT: Сделал еще некоторое мышление, кажется, только первый и последний, так что я нашел:

android:headerDividersEnabled и android:footerDividersEnabled

Установка колонтитулы к ложной фиксированной последней, но странно установка заголовка делители на ложные не имели эффекта. :/

ДАЖЕ БОЛЬШЕ РЕДАКТОРОВ: Хорошо, поэтому я добавил еще несколько элементов в список (должен был сделать это первым), и это, кажется, каждый другой предмет (например, пункт 1, пункт 3, пункт 5, и т. д.), в котором под ним появляется разделитель.

Lines on ListView

ответ

41

Можно сказать, что

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

Разделитель должен быть вставлен после каждой записи по умолчанию.

+0

Отлично! Спасибо! – kcoppock 2010-11-27 17:29:44

2

Я ненавижу отвечать на свой вопрос, но я нашел решение:

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

Это устранило проблему. Однако мне все же хотелось бы узнать, как это сделать с XML, и понять, почему он вставляет их только в каждый другой элемент.

0

Вы можете установить его в xml с помощью: android: divider = "@ null"

+0

Точная копия принятого ответа, которая была на 3 года раньше, чем ваша. – 2015-05-22 10:39:29

Смежные вопросы