我的Android应用程序中有大约1000种不同的活动。我怎样才能跳到随机活动?

时间:2015-11-25 07:24:51

标签: android android-intent

AppController

在我的应用程序中,我有1000个不同的活动,即Q1,Q2,Q3 ...... Q1000。 我在每个活动上都有一个按钮,我希望当用户点击它时,他应该进行一些随机活动。 怎么做到这一点?

2 个答案:

答案 0 :(得分:1)

虽然这很糟糕,但我仍然会展示一种可行的方法。但请记住,这是可怕的

您可以将所有活动类存储在ArrayList

ArrayList<Class<Activity>> activities = new ArrayList<> ();

然后将所有活动添加到ArrayList。是的,我知道,这部分很乏味。例如,

 activities.add (Activity1.class);

然后你创建一个名为Random的{​​{1}}并使用它来访问列表中的元素:

rand

这是另一种“更好”的方式,但它仍然有点糟糕。我强烈建议您将问题存储在数据库中。无论如何,这是更好但仍然不好的方法。

您创建了一个问题类:

list.get (rand.nextInt (list.size()));

之后,您制作了public class Question { //here you can put correctAnswer, questionText etc } ArrayListQuestion

ArrayList<Question>

然而,您需要向阵列列表添加1000个问题。然后,您只需使用ArrayList<Question> questions = new ArrayList<> (); 即可访问它。

如果您想在一个活动中显示问题,则可以在开始活动前Random putExtra IntentputExtra基本上将一些“参数”东西传递给活动。然后在活动中,您可以获得“额外”并使用Question对象进行显示。例如将TextView的文本设置为问题文本。

答案 1 :(得分:1)

这也可以使用:

   try {
            Random rand=new Random();
            Intent i = new Intent(this, Class.forName("test.hu.test.Q"+rand.nextInt(1000)+"")); // get activity's class by reflection
            startActivity(i);
        }catch (Exception e)
        {

        }

但我也建议使用DB。