custom 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.

我可以这样做吗?

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

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

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

class Item{
    String text;
    int imageId;
  //respective setter getters
 }

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

最新更新