我有ArrayList
一个对象,我想要一个特定位置的项目,但是每次我启动活动时,检索到的位置应该是随机的,并且在每个位置项目被完全检索到之前也不会重复。我使用了这种方法:
public static int getRandomNumber(ArrayList<Integer> arr)
throws IllegalArgumentException {
try {
Random random = new Random();
int select = random.nextInt(arr.size());
int randomnum = arr.get(select);
GlobalData.randList.remove(select);
return randomnum;
} catch (IllegalArgumentException e) {
for (int i = 0; i < arr.size(); i++) {
GlobalData.randList.add(i);
}
return 0;
}
但它不起作用,就像重复号码即将到来,可能是有原因的,因为每次我重新启动活动。我做了它oncreate
而不是onResume
但它没有按我预期的那样工作?还有其他方法可以使用它吗?有什么解决办法吗?