2013-01-24 82 views
0

我試圖創建一個項目列表。我不希望列表會填滿整個屏幕。我真的試圖創建一個列表,它的寬度和高度將分別與列表中最長的列表項目和項目數量幾乎相同。換一種說法;列表視圖,而不是填充整個屏幕

,如果我有一個項目,在Android上我會看到

------------------------ 
    |  | 
    | 1 | 





------------------------ 

如果我有2項

------------------------ 
    |  | 
    | 1 | 
    | 2 | 




------------------------ 

如果我有一個名爲 「微光」 和 「llllllllll」,項目

------------------------ 
    |    | 
    | lll   | 
    | llllllllll | 




------------------------ 

我的佈局是

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:padding="10dp" > 
</TextView> 

爲了得到我在上面講過的內容,我應該改變什麼?

編輯:

String[] values = new String[] { "1", "2", "3","4","5","6","7","8","9","10","11","12","13","14" }; 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_expandable_list_item_1, values); 
     setListAdapter(adapter); 
+0

和哪裏是與列表視圖定義的XML?你有沒有嘗試將它的智慧也設置爲wrap_content? –

+0

@TomislavNovoselec請參閱編輯 – zeymav

回答

1

你可能有你的ListView設置爲 'FILL_PARENT' 或 'match_parent' 的寬度屬性。您在原始問題中包含的佈局是針對ListView中的元素的。

底線,檢查父視圖的寬度屬性(在這種情況下,它將是ListView本身)。

0

您可以將您的ListView的高度改變的東西,例如下文

android:layout_height = "XXdp" 

使XX足以承載您允許出現的最大項目數,如果項目的數量較大,它會自動滾動。如果有這麼少的項目,那麼存在空白空間。

+0

我該如何在程序中動態執行? – zeymav

+0

如果項目數量更大,它會自動滾動=>您不必實現這一點,儘管您可能想要實現getView()函數來回收視圖。 如果有這麼幾個項目,那麼空的空間存在=>據我所知,高度不能動態縮小,沒有像setHeight()函數http://developer.android.com/reference /android/widget/ListView.html –