Android列表视图中未显示顶部和底部的分隔线

按照我的理解,为列表视图定义的分隔符也应该出现在列表的顶部和底部,即在第一个项目之上和最后一个项目之下。

出于某种原因,他们不会出现在我的列表视图中:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mainLayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/background"> <ImageView android:id="@+id/home" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="3dp" android:paddingTop="3dp" android:paddingBottom="3dp" android:src="@drawable/homeicon"/> <TextView android:id="@+id/titleBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Page Title" android:layout_marginLeft="10dp" android:paddingTop="3dp" android:textSize="18sp" android:textStyle="bold" android:typeface="serif" android:textColor="#FFFFFF" android:layout_centerHorizontal="true"/> <ImageView android:id="@+id/back" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingRight="8dp" android:paddingTop="8dp" android:src="@drawable/backicon" android:layout_alignParentRight="true"/> <ImageView android:id="@+id/separator1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/home" android:scaleType="fitXY" android:src="@drawable/separatorimg" /> <ListView android:id="@android:id/android:list" android:layout_below="@+id/separator1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:cacheColorHint="#00000000" android:divider="@drawable/separatorimg"> </ListView> </RelativeLayout> 

将android:footerDividersEnabled设置为true(这是围绕这个问题的其他问题给出的答案)不会改变任何东西。 此外,我没有禁用项目,除非有某种默认页脚,将被禁用。

有任何想法吗?

编辑:当我滚动过去的第一个/最后一个项目,然后消失,似乎在顶部和底部的分隔线出现一瞬间。 它看起来好像接口将继续,只有后来才意识到这是最后一项,然后禁用分频器。

Solutions Collecting From Web of "Android列表视图中未显示顶部和底部的分隔线"

我使用以下链接的帮助解决了这个问题: 如果添加了footerview,Divider将从listview中的最后一项消失

我做的是添加

  android:footerDividersEnabled="true" 

属性到XML中的ListView。 然后以编程方式,我添加了一个空的页脚视图,可以select使用

  listView.addFooterView(new View(context), null, true); 

我没有尝试标题,但我希望它以同样的方式工作。

我有同样的问题。 以下是我解决它的方法:

 <ListView android:id="@+id/my_list" android:layout_width="match_parent" android:layout_height="wrap_content" android:divider="@color/transparent" android:dividerHeight="@dimen/padding_default" android:footerDividersEnabled="false" android:headerDividersEnabled="false" > </ListView> 

然后,在onCreate()方法中,我有:

 View v = new View(this); v.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 1)); mList.addFooterView(v); 

我认为你必须使用列表视图下的视图来设置页脚。 我有同样的问题,这是我可以得到一个解决scheme:

在列表中的最后一项之后显示分隔符

请在下面find修改后的代码:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mainLayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/background" > <LinearLayout android:id="@+id/llAppBar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:orientation="horizontal" android:weightSum="10" > <ImageView android:id="@+id/home" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="2" android:paddingBottom="3dp" android:paddingLeft="3dp" android:paddingTop="3dp" android:scaleType="fitXY" android:src="@drawable/homeicon" /> <TextView android:id="@+id/titleBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_weight="6" android:paddingTop="3dp" android:text="Page Title" android:textColor="#FFFFFF" android:textSize="18sp" android:textStyle="bold" android:typeface="serif" /> <ImageView android:id="@+id/back" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="2" android:paddingRight="8dp" android:paddingTop="8dp" android:scaleType="fitXY" android:src="@drawable/backicon" /> </LinearLayout> <ImageView android:id="@+id/separator1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/llAppBar" android:scaleType="fitXY" android:src="@drawable/separatorimg" /> <ListView android:id="@android:id/android:list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/separator1" android:cacheColorHint="#00000000" android:divider="@drawable/separatorimg" > </ListView> </RelativeLayout> 

我有同样的问题,并设置填充和背景色解决了它。

 <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/gray_background" android:paddingTop="1dp" android:paddingBottom="1dp" /> 

在这里,背景颜色应该与带有列表视图的分隔线的颜色相同。