我很想听听你们认为对于简单的多项选择测验最有效/最实用的面向对象设计。
基本上,该应用程序提出了一系列问题,每个问题有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)而不是开始一项新活动?
另外,一个更详细的问题 - 设置哪个选项(例如哪个单选按钮)包含正确答案的平滑方式是什么,以便当用户按下提交时,我可以检查他们是否有正确的答案和是/然后没有相应的反应?
总结:
谢谢!
答案 0 :(得分:2)
我不会将“正确/不正确的信息活动”作为自己的活动。相反,当用户选择单选按钮选项,然后单击“确定”按钮时,应弹出一个对话框。当他们关闭对话框时,会有一个按钮进入下一个问题。
我会说你应该在一个活动中完成这一切。
答案 1 :(得分:0)
我将使用ViewFlipper的一个活动来循环问题。