Android - 开始随机活动,但没有重复?

时间:2013-11-16 02:10:31

标签: java android android-intent random

因此II可以使用随机数生成器创建随机活动,但我想要的是,如果用户进入活动2,则用户不应该返回到用户已经进行过的活动1。 / p>

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

示例:

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

注意:因此,从活动2开始,用户无法返回上一个活动。

谢谢

2 个答案:

答案 0 :(得分:0)

使用数字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替换为您的代码,以转移到该活动。

答案 1 :(得分:0)

你可以做的是在一个包中传递附加内容。 http://miragemiko.wordpress.com/2010/03/20/android-using-bundle-for-sharing-variables/

在这种情况下,你可以将你的字符串作为密钥传递给你用来跳转活动的Intents,因此能够确保你永远不会重复活动。