2010-06-08 36 views
5

創建與simple_list_item_1一些菜單(這工作很細),我試圖通過simple_list_item_2來代替這一點,但我的系統有異常拋出後,周圍...simple_list_item_2 Android中

現在我想知道如何創建這樣一個我的列表中有兩個不同大小的行...對於初學者有沒有陷阱?有人能幫我解決我的(小!)問題嗎?

我的代碼如下所示:

ListAdapter listAdapter = new ArrayAdapter<String>(this, 
     android.R.layout.simple_list_item_2, fileNames); 
setListAdapter(listAdapter); 

String[] fileNames存儲所有字符串按升序排列顯示(這很重要的功能?)

後在一些論壇上我現在希望尋找未果你的某個人可以給我一個有用的建議。

不錯的問候, poeschlorn

回答

10

simple_list_item_2是不同的,而不是隻是一個TextView它包含含有 TextViews一個TwoLineListItem。 ArrayAdapter不會在這裏工作,因爲您使用的構造函數只需要一個TextView;只需看看constructors。相反,您必須創建一個自定義適配器或使用支持SimpleCursorAdapter或(我認爲)SimpleAdapter的自定義適配器。 This guy有一個有點hacky的解決方案,可能會爲你工作。

+0

嗨,謝謝你的迴應:)我會試試這個,告訴你它是否/如何工作 – poeschlorn 2010-06-08 08:30:26

+0

嗨,我試過了,它工作得很好......我唯一不喜歡的東西理解是,爲什麼需要一個Map(或HashMap)? – poeschlorn 2010-06-08 10:37:09

+2

我猜是因爲預期的用途確實是從已經存在於鍵值對中的數據中提取數據,所以這對於該目的是有意義的。儘管如此,沒有理由不能有2dArrayAdapter或其他東西。順便說一句,這是另一個很好的示例用法: http://stackoverflow.com/questions/2227154/how-do-i-fill-a-listview-in-android-with-xml-or-json-data/ 2227377#2227377 – 2010-06-08 12:31:03