10

如果在 ListView 中添加了页脚视图,则分隔符从 ListView 的最后一项中消失。

即使我已经设置android:footerDividersEnabled="true"了 ListView,而我的页脚视图也只是 TextTiew。

4

5 回答 5

21

设置isSelectabletrue对我不起作用,可能是因为removeFooterView在我的列表加载完成时我也在打电话。

最终为我解决的问题是在 ListView 上设置android:layout_height为“ fill_parent”而不是“ ”。wrap_content

于 2011-08-02T16:22:07.440 回答
20

Android 中的ListView实现永远不会在禁用的项目之间绘制分隔线,如果您只是调用该addFooterView(View v)方法,那么默认情况下您的页脚将是。

相反,您需要调用设置为的addFooterView(View v, Object data, boolean isSelectable)方法。如果您不需要它,您可以只传递该对象。isSelectabletruenulldata

于 2011-04-14T10:14:51.710 回答
14

这几乎对我有用。我在最后一个列表项之后有一个分隔符,但不是在页脚之后,因为我的页脚是空白空间。我最终添加了两个页脚,一个可选择零高度,一个不可选择包含填充。

TextView view = new TextView(this);
view.setLines(0);
TextView view1 = new TextView(this);
view1.setLines(4);
mListView.addFooterView(view, null, true);
mListView.addFooterView(view1, null, false);
mListView.setFooterDividersEnabled(true);
于 2011-08-20T18:44:29.313 回答
8

尝试将 的设置layout_height为:ListViewmatch_parent

android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="#333333"
android:dividerHeight="1px"

layout_height设置为wrap_content它可能会跳过底部分隔线:

android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="#333333"
android:dividerHeight="1px"
于 2012-09-16T17:32:31.223 回答
1

头穿墙的办法,但可靠,就是手动添加分隔线作为页脚视图。

ListView myListView = (ListView) view.findViewById(R.id.my_list_view);
myListView.addFooterView(getInflater().inflate(R.layout.horizontal_divider, myListView, false), null, false);
myListView.addFooterView(getInflater().inflate(R.layout.the_original_footer_view, myListView, false), null, false);

布局文件如下所示:

<View xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="1px"
    android:background="?android:attr/dividerVertical" />

即使在最后一个页脚之后,这种方法也可以用来轻松添加分隔线,无论它是可选择的、启用的还是其他任何东西——它就在那里。

注意高度是1px而不是1dp。尽管违背了所有建议,但至少在我测试的设备上,它给出了与 ListView 相同的分隔高度,而1dp没有。

于 2014-03-25T22:59:08.423 回答