2013-02-07 47 views
1

我正在給一個View充氣,並將其添加到ListView中,以便將其用作ListView內頂部元素的填充。問題是視圖不會在ListView中呈現,除非我將View更改爲TextView,我不能在這裏使用簡單的View?爲什麼?Android ListView addHeaderView不能用簡單的視圖

這是添加墊代碼:

LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
view top_pad = inflater.inflate(R.layout.search_pad, null); 
list.addHeaderView(top_pad); 

墊XML文件layout.search_pad

<?xml version="1.0" encoding="UTF-8"?> 
<View 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="5dp" 
    android:background="#333" /> 
+0

是的,對不起,我剛編輯過這個問題。 – maraujop

+1

您是否在list.addHeaderView之前或之後調用list.setAdapter? – Pasha

回答

1

有可能的類型查看項目添加到您的頭,問題是如果沒有任何東西告訴視圖應該至少有多高,並且該視圖不包含子元素,那麼ListView會將其標題縮小到0的高度。

因此,要解決我實現我在XML中增加了一個

android:minHeight="@dimen/minHeader" 

其中minHeader是

<dimen name="minHeader">5dp</dimen> 

同樣的標註這裏addHeaderView(視圖V):

注意:首次引入時,只能在使用setAdapter(ListAdapter)設置適配器之前調用此方法。從KITKAT開始,可以隨時調用此方法。如果ListView的適配器不擴展HeaderViewListAdapter,它將被WrapperListAdapter的支持實例包裝。

對不起,這很晚了,快樂編碼。

相關問題