2010-07-20 109 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,並將您自己的分隔符添加到返回的視圖。否則,'不可見'視圖將分別具有可見的分隔符,並在可見視圖之間產生明顯的灰線。

相關問題