所以我可以使用随机数生成器创建一个随机活动,但我想要的是,如果用户转到活动 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
替换为代码以移动到该活动。