430

I'm using two ListViews like this:

<ListView
   android:id="@+id/ListView"
   android:text="@string/Website"
   android:layout_height="30px"
   android:layout_width="150px"
   android:scrollbars="none"
   android:transcriptMode="normal"/>
<ListView
   android:id="@+id/ListView1"
   android:text="@string/Website"
   android:layout_height="30px"
   android:layout_width="150px"
   android:scrollbars="none"
   android:transcriptMode="normal"/>

There is one blank line between the two ListViews. How do I remove it?

3
  • 3
    Do you have two separate ListViews showing different lists or do you mean you have a line between items in your ListView? Commented Dec 16, 2009 at 13:03
  • Is it "blank" or "black" line? Since the question got edited by someone other than the OP. There is a difference between those Commented Oct 14, 2015 at 8:26
  • 1
    @deepthi, would you consider marking one of the answers as accepted? Commented Jan 23, 2019 at 11:47

14 Answers 14

974

To remove the separator between items in the same ListView, here is the solution:

getListView().setDivider(null);
getListView().setDividerHeight(0);

developer.android.com # ListView

Or, if you want to do it in XML:

android:divider="@null"
android:dividerHeight="0dp"
Sign up to request clarification or add additional context in comments.

7 Comments

for some reason, setting it in the XML didn't work for me. had to set it in the code.
Worked in XML for me. Should put in the <ListView></Listview>. Wonder why this was not accepted as the right answer.
do we need to make both (nullify and zeroify) or is just one enough?
@Pranav. Please teacher, let's write about programming. Thank you.
Weirdly only dividerHeight=0 didnt work, only divider=@null did. Why?
|
99
  1. If you want to remove a divider line, use this code:

    android:divider="@null"
    
  2. If you want to add a space instead of a divider line:

    android:divider="@android:color/transparent"
    android:dividerHeight="5dp"
    

So, you can use any drawable or color in the divider attribute.

Comments

66

There are different ways to achieve this, but I'm not sure which one is the best (I don't even know is there is a best way). I know at least two different ways to do this in a ListView:

1. Set divider to null:

1.1. Programmatically

yourListView.setDivider(null);

1.2. XML

This goes inside your ListView element.

android:divider="@null"

2. Set divider to transparent and set its height to 0 to avoid adding space between listview elements:

2.1. Programmatically:

yourListView.setDivider(new ColorDrawable(android.R.color.transparent));
yourListView.setDividerHeight(0);

2.2. XML

android:divider="@android:color/transparent"
android:dividerHeight="0dp"

1 Comment

In certain situations there seems to be an issue with simply setting the divider color to transparent. My ListView elements each had a solid-colored, semi-transparent background. When I was using the second method of hiding the divider, a "divider" still seemed to appear. When I switched to the first method, the "divider" disappeared.
33

Set divider to null:

JAVA

  listview_id.setDivider(null);

XML

<ListView 
  android:id="@+id/listview"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:divider="@null"
  />

Comments

27

In XML:

android:divider="@null"

Or in Java:

listView.setDivider(null);

Comments

18
   <ListView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/list"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:divider="@null"
  android:dividerHeight="0dp"/>

1 Comment

While this code may answer the question, providing additional context regarding how and/or why it solves the problem would improve the answer's long-term value.
12

You can put below property in listview tag

android:divider="@null"

(or) programmatically listview.Divider(null); here listview is ListView reference.

Comments

10

Or in XML:

android:divider="@drawable/list_item_divider"
android:dividerHeight="1dp"

You can use a color for the drawable (e.g. #ff112233), but be aware, that pre-cupcake releases have a bug in which the color cannot be set. Instead a 9-patch or a image must be used..

1 Comment

Or you can even use the standard Android drawable for the divider: @android:drawable/divider_horizontal_...
9

You can try the following. It worked for me...

android:divider="@android:color/transparent"
android:dividerHeight="0dp" 

Comments

7

I find it easier to implement it in the XML file as it can be harder to trace the line of code in a class with hundreds of lines. For the XML you can use "null":

android:divider="@null"

Comments

5

For ListFragment use

getListView().setDivider(null)

after the list has been obtained.

Comments

4

If you want to remove lines from

⛔ Problem

Having lines between items from <ListView>

✅ Solution

add an attribute android:drivider="@null"

enter image description here

1 Comment

Thank you adding an image that tells more than thousand words. :-) Just what I needed.
0

If this android:divider="@null" doesn't work, maybe changing your ListViews for Recycler Views? 

Comments

-1

String txt = ( (TextView) view).getText().toString();
adapter.remove(txt);
  

enter image description here

1 Comment

This is not related to the question.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.