如何随机播放活动列表

时间:2014-02-13 10:37:06

标签: android android-intent arraylist

我正在玩一款简单的游戏。我想改组一系列活动。当我按下按钮时,它将随机选择一个活动并使用启动活动意图加载它。这可能吗?我应该从哪里开始?提前谢谢。

修改

当我尝试单击按钮时,它强制关闭。 这是我到目前为止所拥有的

Button shuffle = (Button) findViewById(R.id.button1);

final ArrayList<Class> activities = new ArrayList<Class>(4);
activities.add(SampleTwo.class);
activities.add(SampleThree.class);
activities.add(SampleFour.class);
activities.add(SampleFive.class);


shuffle.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Random rand = new Random();
        int random = rand.nextInt(activities.size());
        Intent i = new Intent(context, activities.get(random));
        startActivity(i);
        }

});

1 个答案:

答案 0 :(得分:0)

要对列表进行随机播放,您可以使用方法Collections#shuffle()

  Collections.shuffle(list);

如果您只需要从列表中选择随机活动,我会这样做:

  if(list.size() > 0){
     list.get((new Random()).nextInt(list.size()));
  }

Random生成伪随机数,nextInt(number)将从0区间(包括)生成一个数字 - 数字(不包括)。

要启动随机活动,您不需要Activity对象,只需要它的Class对象即可。因此,请创建一个ArrayList

ArrayList<Class> activities = new ArrayList<Class>();
activities.add(SomeActivity.class);

Intent i = new Intent(context, activities.get(random));
startActivity(i);