在Imageview数组的随机列表之后获取图像的位置

时间:2013-03-13 07:44:13

标签: android

int[] images2 = {
            R.drawable.wrong, R.drawable.reviewp,
            R.drawable.bowl, R.drawable.ic_action_search
            };
List<int[]> pic=Arrays.asList(images2);
Collections.shuffle(pic);
Random random = new Random();
for(int i = 0 ; i <= 3 ; i++){

    ReciverI[i].setBackgroundResource(images2[ "at here i want to get the image position"   ]);
    }

帮助我获得图像的位置

这不起作用

    ReciverI[i].setBackgroundResource(images2[Integer.parseInt(pic.get(i).toString())]);

这给我错误的结果

2 个答案:

答案 0 :(得分:1)

ReciverI[i].setBackgroundResource(pic.get(i)) 

抱歉没有注意。你应该制作你的List<int>,它会起作用。 正如您的代码片段现在一样,它没有用于拥有整数数组的列表。

答案 1 :(得分:1)

我重写了代码

解决方案1 ​​

Integer[] images2 = {R.drawable.wrong, R.drawable.reviewp, R.drawable.bowl,R.drawable.ic_action_search};
List<Integer> pic=Arrays.asList(images2);
Collections.shuffle(pic);
for(int i = 0 ; i <= pic.size() ; i++){
ReciverI[i].setBackgroundResource(pic.get(i))
}

你想要保留原始的int然后你必须走一点

解决方案2

List<Integer> pic = new ArrayList<Integer>();
        for (int index = 0; index < images2.length; index++)
        {
            pic.add(images2[index]);
        } 
        Collections.shuffle(pic);
        for(int i = 0 ; i <= pic.size() ; i++){
          ReciverI[i].setBackgroundResource(pic.get(i))
        }