ListView有两个不同的列表项

时间:2012-03-12 17:33:32

标签: android listview

我想有一个listView,第一个列表项将有一个红色背景,第二个将有黑色。这可能吗?如果是,我将如何创建自定义列表适配器? 谢谢!

|Black item|


|Red item|


|Black item|

|Red item|

|Black item|

3 个答案:

答案 0 :(得分:2)

您应该在您的arrayadapter中覆盖getView。传递给此方法的参数之一是位置。所以你可以只做位置%2来确定行是偶数还是奇数。根据你想要做什么,你可以改变你可以在那里膨胀两个完全不同的布局。

答案 1 :(得分:1)

如果您使用public View getView(int position, View convertView, ViewGroup parent)方法,则会为每个position %2 == 0应用不同的样式。通过这种方式,您可以轻松地使这些项目彼此不同:)

我希望这会有所帮助。

答案 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;
}