设计建议:多项选择测验

时间:2011-06-13 18:15:21

标签: android

我很想听听你们认为对于简单的多项选择测验最有效/最实用的面向对象设计。

基本上,该应用程序提出了一系列问题,每个问题有4个选项。如果您选择的选项是正确的,那么新活动将显示正确答案背后的一些恭喜和完整详细信息,如果您错了,它会说您错了,还有详细信息等。

之后,用户转到下一个问题。在每个新问题上,到目前为止你都会看到你的分数。所以也许每个正确答案得到50分,就像那样。

以下是我对实现此内容的看法:使用一些radiobuttons或其他可用于选择答案的小部件创建自定义视图。自定义视图采用Question对象,它只是一个常规的旧java对象,其中包含选项1-4的字段。然后,在自定义视图中,我可以将radiobuttons的文本设置为我的Question对象中的选项。

因此,在我的activity中,它看起来像Question myQuestion = new Question("string for choice 1", "string for choice 2"...)

然后..

将问题与我的自定义视图一起使用。 QuestionView myView = new QuestionView(this, myQuestion);

好的,这一切都很棒。我只是想知道自己是否因为麻烦而陷入困境。首先,我必须跟踪所有问题活动的得分。将我的所有问题都归类为一类是有意义的,大多数是空的activity,我创建的可以在其中有一个计数器,当用户得到正确的答案时(即在我的超类活动{{1并且在每个活动中对此活动进行子类化:int scoreKeeper;)。这将允许分数在活动中持续存在。我意识到我可以通过传递和额外的每个新活动,然后简单地添加到活动,在活动之间得分,但这对我来说似乎没有意义。

对不起所有的喋喋不休..但我想我的问题是:你认为最简单的设计是什么?此外,一般来说,我总是假设每当用户做一个“单一的,有针对性的事情”时你应该总是使用一个新的活动......正如Android范例所述。但有时候创造这么多活动会感觉很奇怪。我知道“它感觉很奇怪”这个事实没有理由不这样做,但是什么时候重复使用活动才有意义(例如在这种情况下,只需在我的活动中交换一个新问题并相应地更新UI)而不是开始一项新活动?

另外,一个更详细的问题 - 设置哪个选项(例如哪个单选按钮)包含正确答案的平滑方式是什么,以便当用户按下提交时,我可以检查他们是否有正确的答案和是/然后没有相应的反应?

总结:

  1. 什么是直接的,面向对象的方式来创建一系列多项选择问题活动?
  2. 跟踪得分最明智的方法是什么?
  3. 每个问题都必须是一个单独的活动吗? (而且,一般来说,你们如何处理某事物是否应该是一项单独的活动?)
  4. 另外,有点特别:我最简单的方法是标记哪个选项是正确的,这样我可以查看用户是否正确?我知道,对于radiobutton,你可以使用onCheckedChangeListener并检索当前检查的radiobutton,但我不知道如何在我的设计中使用它来检查用户是否正确...
  5. 谢谢!

2 个答案:

答案 0 :(得分:2)

我不会将“正确/不正确的信息活动”作为自己的活动。相反,当用户选择单选按钮选项,然后单击“确定”按钮时,应弹出一个对话框。当他们关闭对话框时,会有一个按钮进入下一个问题。

我会说你应该在一个活动中完成这一切。

答案 1 :(得分:0)

我将使用ViewFlipper的一个活动来循环问题。