我正在玩一款简单的游戏。我想改组一系列活动。当我按下按钮时,它将随机选择一个活动并使用启动活动意图加载它。这可能吗?我应该从哪里开始?提前谢谢。
修改
当我尝试单击按钮时,它强制关闭。 这是我到目前为止所拥有的
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);
}
});
答案 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);