自定义android arrayadapter

时间:2014-07-06 13:28:59

标签: android listview android-arrayadapter

不确定如何描述这个,所以我会尽我所能。我有一个ListView,它总是显示五个字符串,无论选择什么。我复制了一个示例,将图像放在每个列表项的左侧。但是我有五个单独的图像,我不知道如何在自定义数组适配器中设置每个相应的图像。目前的代码如下:

String s = values[position];
if (s.startsWith("Windows")) {
  imageView.setImageResource(R.drawable.image1);
} else {
  imageView.setImageResource(R.drawable.image2);
}

我希望我做以下事情:

if index = 0 then setImageResource as image1; elseif index = 1 then setImageResource as image2, etc.

我可以这样做吗?

2 个答案:

答案 0 :(得分:1)

如果有静态值。为什么你不使用switch语句。例如:

switch(position)
{
  case 0:
  imageView.setImage(R.drawable.image1);
  break;
  .
  .
  .
  .
  case 4:
  imageView.setImage(R.drawable.image5);
  break;
}

答案 1 :(得分:0)

另一个干净的解决方案是创建数组项的POJO。

class Item{
    String text;
    int imageId;

  //respective setter getters

 }

在您的数组适配器中,getView方法相应地修改它