2012-03-12 52 views
1

我想有一個listView,第一個列表項目將有一個紅色的背景,第二個將有black.Is那可能嗎?如果是的話,我將如何創建自定義列表適配器? 謝謝!!ListView與兩個不同的列表項目

|Black item| 


|Red item| 


|Black item| 

|Red item| 

|Black item| 

+0

如果我想使用兩個不同的PNG的背景,而不是兩種不同的顏色? – 2012-03-12 17:59:11

+0

正如我在我的回答中所提到的那樣,您確實可以靈活地在列表中的每個位置完成您喜歡的任何操作。當你擴展'BaseAdapter'時,除了編寫'getView'方法外,你很少需要做的,畢竟這是主要的。 – dldnh 2012-03-12 18:05:06

+0

我想在每個列表項目具有相同的佈局,但使用不同的圖像作爲背景..我可以這樣做嗎? – 2012-03-13 13:19:26

回答

1

當你有public View getView(int position, View convertView, ViewGroup parent)方法,使其適用於不同風格的每個position %2 == 0。這樣,你可以很容易地使這些項目不同:)

我希望這有助於。

2

你應該覆蓋你的arrayadapter中的getView。傳遞給此方法的參數之一是一個位置。因此,您可以執行位置%2來確定該行是偶數還是奇數。取決於你想要做什麼,你可以改變你可以膨脹兩個完全不同的佈局。

0

這是我最新項目的適配器中的getView。我簡化了它,突出了幾件事:1.您可以使用任何標準來決定返回哪種視圖,以及2.您可以使用LayoutInflater.inflate來獲得任何視圖,無論情況可能如此。

public View getView(final int position, View convertView, ViewGroup parent) 
{ 
    View v; 

    int n = itemList.get(position); 
    if (n < 0) 
    { 
    v = inflator.inflate(R.layout.layout1, null); 
    } 
    else if (n > 0) 
    { 
    v = inflator.inflate(R.layout.layout2, null); 
    } 
    else 
    v = inflator.inflate(R.layout.layout3, null); 

    return v; 
} 
+0

我如何初始化itemList我的list_adapter類? – 2012-03-13 13:16:10