如果我的图片库里面有bg1,bg2,bg3,bg4几个图片,我的程序里面有个值i,不过i的值是从0-3的,那么当i=0的时候,用bg1图片,i=1的时候,用bg2的图片,如此类推,应该如何写呢?我之前有个写法,是
switch(position){
         case 0:
           mListView.setBackgroundResource(R.drawable.bg1);
           break;
         case 1:
           mListView.setBackgroundResource(R.drawable.bg2);
           break;
         case 2:
           mListView.setBackgroundResource(R.drawable.bg3);
           break;
         case 3:
           mListView.setBackgroundResource(R.drawable.bg4);
           break;
          default:
          
         }不过这个的话,如果有很多张图片,就要写很长了,我不想这样,后来我换了个写法:mListView.setBackgroundResource(R.drawable.bg & (position -1) );不过这个又不对,现在想问问,关于后面数字那部分,应该如何写呢?

解决方案 »

  1.   

    mListView.setBackgroundResource(R.drawable.bg4);
    括号中的R.drawable.bg4是一个整型,在R.java的 public static final class drawable {
     public static final int bg1=0xXXXXXXXX;
    }里面有一个唯一的整数与之对应,你的这种方式“R.drawable.bg & (position -1)”肯定会报错
    你可以这样做:
    先定义一个数组,
    private final int[] resID = new int[] { R.drawable.bg1,
            R.drawable.bg2,
                                            R.drawable.bg3,
                                            R.drawable.bg4,
                                            ... };
    用的时候mListView.setBackgroundResource(resID[position])