如果添加了footerview,则分隔符将从列表视图中的最后一项消失

问题描述

|| 如果在ListView中添加了页脚视图,则分隔符将从ListView的最后一项中消失。 甚至我已经用ListView设置了“ 0”,并且我的页脚视图就是TextTiew。     

解决方法

Android中的
ListView
实现从不在禁用的项目之间绘制分隔线,如果您只是调用
addFooterView(View v)
方法,则默认情况下,页脚将为。 相反,您需要将
isSelectable
设置为
true
来调用
addFooterView(View v,Object data,boolean isSelectable)
方法。如果不需要,可以只将ѭ6传递给
data
对象。     ,将
isSelectable
设置为
true
对我不起作用,这可能是因为在列表加载完成后,我也在呼叫
removeFooterView
。 最终为我解决的是在ListView上将
android:layout_height
设置为\“
fill_parent
\”而不是\“
wrap_content
\”。     ,这几乎对我有用。我在最后一个列表项之后使用分隔符,但在页脚之后却没有,因为页脚是空白空间。我最终添加了两个页脚,其中一个可以选择零高度,另一个不能选择包含页脚。
TextView view = new TextView(this);
view.setLines(0);
TextView view1 = new TextView(this);
view1.setLines(4);
mListView.addFooterView(view,null,true);
mListView.addFooterView(view1,false);
mListView.setFooterDividersEnabled(true);
    ,尝试将
ListView
中的
layout_height
设置为
match_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\"
    ,穿墙方法是可靠的,但要手动将分隔线添加为页脚视图。
ListView myListView = (ListView) view.findViewById(R.id.my_list_view);
myListView.addFooterView(getInflater().inflate(R.layout.horizontal_divider,myListView,false),false);
myListView.addFooterView(getInflater().inflate(R.layout.the_original_footer_view,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
则没有。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...