AppController
在我的应用程序中,我有1000个不同的活动,即Q1,Q2,Q3 ...... Q1000。 我在每个活动上都有一个按钮,我希望当用户点击它时,他应该进行一些随机活动。 怎么做到这一点?
答案 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
}
ArrayList
个Question
。
ArrayList<Question>
然而,您需要向阵列列表添加1000个问题。然后,您只需使用ArrayList<Question> questions = new ArrayList<> ();
即可访问它。
如果您想在一个活动中显示问题,则可以在开始活动前Random
putExtra
Intent
。 putExtra
基本上将一些“参数”东西传递给活动。然后在活动中,您可以获得“额外”并使用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。