2011-09-19 66 views
17

如何隱藏或刪除某個列表視圖分隔符?當然我可以隱藏所有的分隔線Android。隱藏某個列表視圖分隔符

getListView().setDivider(null); 
getListView().setDividerHeight(0); 

但我需要在我的listview中隱藏一個或兩個分隔符。例如按位置。我使用自定義適配器的列表數據。 謝謝。

回答

7

您可以爲每個ListItem創建一個自定義視圖,您可以打開或關閉分隔符,也可以創建一個分隔視圖,將其添加到列表視圖的適當位置。

+0

我有一個列表項的自定義佈局。但我不知道如何添加或刪除每個項目的分隔線。對於所有的listview,我認爲divider是普通的東西。 –

+0

所以簡單地添加一個分隔符查看視圖的頂部或底部的佈局,並將其設置爲可見或不可見 – slayton

+0

slayton,抱歉,但不要打開你。你說我可以在我的列表項中添加一個分隔符,但是這個分隔符是什麼? TextView,ImageView等?在listview prpoperties中有divider屬性 - 對所有列表都是通用的。我如何爲每件物品設置這個屬性?也許你的意思是關閉我的代碼中提到的「native」分隔符,並在我的列表項目視圖中模擬分隔符作爲附加視圖?對? –

16

您可以隱藏列表視圖(通常用作節標題)的禁用項目的水平分隔線。要做到這一點,返回falseareAllItemsEnabledBaseAdapter回調。再次,這隻適用於那些被禁用的視圖(您在isEnabled回撥此項目時返回false)。此回調的文檔有點模糊:

指示是否啓用此適配器中的所有項目。如果此方法返回的值 隨時間變化,則不能保證 它會生效。如果屬實,則表示所有項目均可選,並且可點擊(不存在分隔符)。

Reference

請注意,它提到了分隔符。我不確定這是否是有意的行爲或某種副作用。但它的工作。你可以在ApiDemos List demo 5(Separators)中看到它。

+0

感謝這個答案保存我的day.Overriding BaseAdapter areAllItemsEnabled並返回false做tirck – Manju

相關問題