我想有一個listView,第一個列表項目將有一個紅色的背景,第二個將有black.Is那可能嗎?如果是的話,我將如何創建自定義列表適配器? 謝謝!!ListView與兩個不同的列表項目
|Black item|
|Red item|
|Black item|
|Red item|
|Black item|
等
我想有一個listView,第一個列表項目將有一個紅色的背景,第二個將有black.Is那可能嗎?如果是的話,我將如何創建自定義列表適配器? 謝謝!!ListView與兩個不同的列表項目
|Black item|
|Red item|
|Black item|
|Red item|
|Black item|
等
當你有public View getView(int position, View convertView, ViewGroup parent)
方法,使其適用於不同風格的每個position %2 == 0
。這樣,你可以很容易地使這些項目不同:)
我希望這有助於。
你應該覆蓋你的arrayadapter中的getView。傳遞給此方法的參數之一是一個位置。因此,您可以執行位置%2來確定該行是偶數還是奇數。取決於你想要做什麼,你可以改變你可以膨脹兩個完全不同的佈局。
這是我最新項目的適配器中的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;
}
我如何初始化itemList我的list_adapter類? – 2012-03-13 13:16:10
如果我想使用兩個不同的PNG的背景,而不是兩種不同的顏色? – 2012-03-12 17:59:11
正如我在我的回答中所提到的那樣,您確實可以靈活地在列表中的每個位置完成您喜歡的任何操作。當你擴展'BaseAdapter'時,除了編寫'getView'方法外,你很少需要做的,畢竟這是主要的。 – dldnh 2012-03-12 18:05:06
我想在每個列表項目具有相同的佈局,但使用不同的圖像作爲背景..我可以這樣做嗎? – 2012-03-13 13:19:26