0
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())]);

这给了我错误的结果

4

2 回答 2

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

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

于 2013-03-13T07:47:24.537 回答
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))
        }
于 2013-03-13T07:57:40.847 回答