2010-12-13 40 views
0

我想在ListView的第一個項目上添加Top Margin。那可能嗎? 或者,我如何引用列表視圖中的第一個列表項?如何引用ListView中的第一個列表項?

我試圖

lv = (ListView)getListView(); 
View myRowItem = lv.getChildAt(0); 

也許,這是行不通的,因爲此刻我執行它,列表項還不存在。我假設我應該嘗試使用onPostRender事件之類的代碼。 Java Android中有這樣的東西嗎?

回答

0

您將不得不創建自己的適配器,並將該條件放入getView方法中。但是,我想知道爲什麼您想要將頂部邊距添加到第一個項目中......如果您將頂部邊距本身設置爲ListView,它會不會表現相同?

+0

它純粹的設計問題。我想列表採取整個屏幕(或工作區),但是當列表第一次顯示時,我想在工作區的頂部邊緣和列表中的第一項之間留出一些空白。首先,我試圖添加標題行來創建一些間距,這工作正常,直到我開始更改適配器並調用...(這創造了另一組問題,並且我得出結論,它不是要走的路) – bobetko 2010-12-14 14:58:58

+0

似乎唯一的解決方案是使用GetWiew並將邊距值應用於ConvertView,如果位置等於0.事情是我也必須刪除除0之外的位置的邊距值,因爲這個ConvertView再次被重用。我希望能有更高效的解決方案。 – bobetko 2010-12-14 15:04:57

+0

然後,我意識到,我不知道如何在位置0更改convertView的頂部邊距。我嘗試了所有對LayoutParams有意義的事情......每次都會崩潰。 – bobetko 2010-12-14 15:49:54

0

爲了獲得物品,請在您設置清單的任何地方編寫代碼適配器

順便說一句,爲了設置邊距,只需在佈局文件(XML文件)上設置ListView的android:PaddingTop即可。

相關問題