2011-02-12 39 views
1

看到很多教程與所有不同類型的佈局,但不清楚如何根據項目動態應用佈局。ListView與dyamically選擇每行佈局

讓我們假設一個列表,其中包含像書本這樣的常見類型派生的項目,但是平裝本或有聲書本等不同的子類將獲得完全不同的佈局。因此,我們將在列表中爲每個類/對象的類型設置一個佈局。 Evey物品有一些共同的屬性,但其他物品有一些附加屬性。

因此,例如

行1說明文本可點擊按鈕的ItemType = A 第2行說明文本複選框的ItemType = C 第3行說明文本微調的ItemType = B 第4行說明文本可點擊按鈕的ItemType = A 行5說明文本複選框ItemType = C

所以基本上,項目類型決定了佈局。 ItemType A總是具有Clickable Item,ItemType C總是CheckBox,ItemType B始終是Spinner,並且所有佈局都有一個描述文本。我還沒有看到如何動態地將佈局應用於基於數據數組元素的列表元素。這怎麼可能做到或者更好,還有一個很好的例子。謝謝

+0

本質上,我所問的是如何根據所呈現的數據中的一個或多個字段應用不同的佈局?項目渲染器是根據項目的類型動態選擇的?謝謝 – Androider 2011-02-12 22:15:12

+0

可能的重複[Android ListView與每行不同的佈局](http://stackoverflow.com/questions/4777272/android-listview-with-different-layout-for-each-row) – 2011-02-12 22:29:37

回答

1

最近發現了一些這些問題。一種解決方案是覆蓋適配器的getView方法,並確定在運行時爲列表中的每個項目應用哪個佈局。這是相當數量的工作,但是它可以滿足您要求的非標準實現。