0

我正在制作一个问题类型的游戏,每个不同类型的问题都有不同的布局,因此也是不同的活动。

我的主要活动,在点击“播放”按钮后,应该用相应的活动随机化一个问题以开始。

一旦回答了一个问题,就应该重复这个问题。为此,我想要一个 STATIC 方法来随机化并启动相应的 Activity,但我无法使其工作。

这是你开始游戏的时候。它将第一个问题随机化。type ==3 是一个问题的类型(有很多不同)

        if(Var.qList.get(Var.rndindex).getType()==3)

            startActivity(new Intent(this, PlayWordMeaning.class));
        }

这很好用,但我有一个 Var.Class 包含所有静态内容,我希望有一个方法可以选择下一个问题,这样一旦有人正确回答,我就可以从其他问题活动中调用它。我试图用相同的代码在那里创建一个静态方法,但它只是没有工作,即使我发送了上下文。

请帮帮我:)

4

2 回答 2

0

如果我理解正确,您可以简单地创建一个类名数组,然后生成一个随机数来选择这样的类:

    Class[] actArr = new Class[2];

    actArr[0] = Activity2.class;
    actArr[1] = Activity3.class;

    Random rn = new Random(System.currentTimeMillis());
    int val = rn.nextInt(2);

    Intent in = new Intent(this, actArr[val]);
    startActivity(in);

有用!。请记住将这些活动类放在您的 AndroidManifest.xml 文件中。

于 2012-08-06T07:36:35.937 回答
0

1.首先我建议你有一个plain Java class有一个randomize function,不管它是不是静态的......它会根据剩下的总问题随机返回一个数字。提示:曾经提出的问题将从列表中删除)

2.使用地图将问题编号链接到活动名称。

HashMap< Integer,String > // 其中 Integer 是 Ques,String 是 Activity Name

于 2012-08-05T10:37:04.073 回答