安卓 - 开始随机活动,但没有重复



所以我可以使用随机数生成器创建一个随机活动,但我想要的是,如果用户转到活动 2,那么用户应该无法返回到用户已经去过的活动 1。

我有 10 个活动,每个活动都应该有一个随机数生成器,以便用户转到随机活动。

例:

Act.1 ---> Act. 3
Act.3 ---> Act. 9
Act.9 ---> Act. 2
Act.2 ---> Act. 6 

注意:因此,从活动 2 开始,用户应该无法返回到以前的活动。

谢谢

您可以做的是将额外内容捆绑在一起传递。http://miragemiko.wordpress.com/2010/03/20/android-using-bundle-for-sharing-variables/

在这种情况下,您可以将字符串作为捆绑包中的键传递,其中包含用于跳转活动的 Intent,因此能够确保您永远不会重复活动。

保持数字 1 到 10 的ArrayList。使用随机数生成器,选择ArrayList的一个索引,删除该位置的元素并执行该活动。然后,随机选择剩下的 9 个中的一个,并执行相同的操作,直到ArrayList为空。

例:

// Create arraylist of pending activities
ArrayList<Integer> pendingActivities = new ArrayList<Integer>();
for(int i = 1; i <= 10; i++) pendingActivities.add(i);
// Randomly pick activity       
Random rand = new Random();
while(!pendingActivities.isEmpty()) {
  int nextIndex = rand.nextInt(pendingActivities.size());
  int nextActivity = pendingActivities.remove(nextIndex);
  System.out.println("Next activity: "+nextActivity);
}

println替换为代码以移动到该活动。

最新更新