2010-07-20 111 views
2

我有一个使用自定义适配器的ListView。我想动态地添加/删除ListView中的项目。我在我的视图适配器中尝试了getView()方法中的所有内容。我试过在我回来的视图上做setVisiblity(View.GONE)。它实际上并没有绘制视图,但它仍然为视图分配空间,它只是一个空白的黑色空间。制作一个视图在列表视图中不可见android

这甚至可以设置项目ListView隐形?

+0

你能展示你如何设置项目去? – 2010-07-20 01:47:52

+0

如果将返回视图设置为GONE,它不应该在ListView中分配空间。 – Pentium10 2010-07-20 07:43:21

+0

我同意它不应该分配空间,但它的确如此...... – BladeCoder 2015-12-28 12:44:16

回答

5

如果要从ListView中删除项目,我会更改关联的ListAdapter返回的值,而不是尝试操纵视图。

+0

是的,而不是混淆了可见性,只是完全删除它们。 – st0le 2010-07-21 08:56:58

+0

我最终创建了2个arrayLists,并且只是来回穿梭我的物品(一个完整的列表和一个显示的列表) – Falmarri 2010-07-23 19:18:07

1

您需要在返回的视图和其中的所有视图上调用setVisiblity(View.GONE)。如果您正在重用传入的转换视图,则需要记住在要显示的所有视图上调用setVisiblity(View.VISIBLE)。

如果您有很多不可见的视图,您可能需要将分隔高度设置为0,并将您自己的分隔符添加到返回的视图。否则,'不可见'视图将分别具有可见的分隔符,并在可见视图之间产生明显的灰线。

相关问题