将活动存储在数组中

时间:2018-01-25 15:18:42

标签: android android-activity

我正在开发一个测验应用程序,当用户按下下一个按钮时,他会进入另一个活动,即下一个问题。此外,它还有一个前一个按钮,可以显示上一个问题。所以我想的是将所有活动存储在一个数组中(如果可能的话)。稍后当我需要从应用程序添加或删除问题时,我只需要更改数组并删除其活动文件。

2 个答案:

答案 0 :(得分:1)

这是一个非常糟糕的主意。相反,在用户选择问题活动的活动中,通过意图传递数据并处理接收者活动本身中的逻辑。像这样:

 Intent j = new Intent (this, 
 QuestionsActivity.class/*whatever your activity's name 
 is */);
 j.putExtra("questionNumber",13/*Arbitrary number*/);
 startActivity(j);

然后在活动中....      if(getIntent()。getIntExtra(“questionNumber”)== 13)        //在这里做你想做的事

答案 1 :(得分:0)

您永远不应该维护对多个活动的引用。 Android系统可能随时决定销毁活动,您的引用将不再有效。

相反,您应该将问题模型与它们在“活动”中的显示方式分开。您可以将数据发送到活动,例如问题的某个标识符甚至问题的文本。您的Activity子类应该是通用的,因为它可以显示任何问题。这允许您为所有问题创建一个活动,而不是为每个问题创建一个活动。

您可以保留一系列问题而不是活动,然后根据需要使用该数组显示正确的信息。