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())]);
这给我错误的结果
答案 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))
}