我在 drawable 中有图像,我随机播放这些图像但我想要 R.drawable.a 这张图像出现 5 次并且 < strong>这个 R.drawable.b 出现了 10 次 但在我的代码图像中一次又一次出现。
我的问题是,我希望该图像 R.drawable.a 在该图像 R.drawable.a 从列表中删除后出现 5 次,其他图像出现洗牌所有图像。 但与此同时,图像 R.drawable.a 会及时出现
public void addNewImageToScreen() {
//array of all drawable id's
int pics[] = { R.drawable.a, R.drawable.b, R.drawable.c, ...etc...};
Random rand = new Random();
int pos = rand.nextInt(pics.length);
addNewImageToScreen(pics[pos]);
}
任何人都可以帮助我这是怎么可能的吗?
最佳答案
您需要删除之前显示的那个
addNewImageToScreen(pics[pos]);
int arraySize=pics.length;
pics[pos] = pics[--arraySize];
编辑: 或者使用这个逻辑
ArrayList picsarr=Arrays.asList(pics);
for(int i=0;i<picsarr.size;i++)
{
Collections.shuffle(picsarr);
addNewImageToScreen(picsarr.get[i]);
picsarr.remove(i);
}
关于java - android中的随机图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14498419/