2

我正在构建一个可以作为某种测验的游戏。我问用户问题,当他提交答案(点击或触摸正确答案)时,我需要用其他问题刷新页面。

我应该如何实现这个?onClick 或 OnTouch 侦听器完成后如何等待用户回答并继续?我应该使用 Handler 类、意图还是其他东西?

提前谢谢帮助。

编辑:我想要下一个场景:在屏幕上我有一个问题和 3-4 个可点击的 ImageButtons。我正在从自定义 showQA() 函数动态地构建一些布局。用户选择答案,如果他点击正确的答案,我应该在屏幕上启动某种类型的动画。我已经从 onClickListener 完成了。现在,我需要从 showQA() 函数再次构建布局(显示新的问题和答案),该函数必须在向用户显示动画后调用。我怎么知道 onClickListener() 何时完成工作?

4

3 回答 3

2

我认为在您的情况下,一项活动就足够了,您只需在此活动中放置两个视图(问题、答案),然后相应地切换可见性并更新问题/答案内容。

对于点击/触摸:取决于用户需要提供什么样的答案(输入文本、点击按钮、使用滑块等)。但是监听器是正确的,即按钮的 onClickListener。

对于测验,您可能希望在从基本小部件扩展的自定义小部件中实现您的特殊逻辑,即 A) - E) 答案按钮(即数量灵活)等的按钮组,并抽象游戏逻辑一点点。

但这真的取决于你的游戏细节,不知道游戏细节就不能说太多。

于 2010-08-17T00:28:55.547 回答
1

通常,组织应用程序的最简单方法是为每个新视图启动一个新的活动实例。

在您的情况下,您可能有一个包含所有问题列表的基本活动。

您的 ShowQuestionActivity 通过 Intent Extras 接收问题和答案选择列表。

BaseActivity 启动 ShowQuestionActivity 以获取第一个问题的结果。当用户点击一个答案时,ShowQuestionActivity 完成。它可以通过额外的方式将答案传回。

BaseActivity 立即启动 ShowQuestionActivity 以获得第二个问题的结果。对用户来说,这看起来就像你刚刚从一个问题顺利地转移到了下一个问题。

或者,您可以让每个 ShowQuestionActivity 启动下一个 ShowQuestionActivity,但随后您需要通过意图跟踪要显示的问题以及所有答案。

于 2010-08-17T00:50:30.833 回答
0

我已经使用 AnimationListener 解决了这个问题。我在用户单击答案后开始动画,并调用 showQA() 函数从 onAnimationEnd 方法创建用户界面。

于 2010-08-20T00:21:57.917 回答