在Android上重启活动的最佳方式?

时间:2010-08-17 00:19:18

标签: android android-activity restart

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

我该如何实现?当onClick或OnTouch监听器完成时,如何等待用户回答并继续? 我应该使用Handler类,意图还是别的什么?

提前帮忙。

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

3 个答案:

答案 0 :(得分:2)

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

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

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

但这真的不取决于你的游戏细节,不能多说清楚了解游戏的细节。

答案 1 :(得分:1)

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

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

您的ShowQuestionActivity通过意图附加内容提出问题和答案选择列表。

BaseActivity在第一个问题时为结果启动ShowQuestionActivity。当用户点击答案时,ShowQuestionActivity结束。它可以通过额外的回复传递答案。

BaseActivity立即启动ShowQuestionActivity以获得第二个问题的结果。对于用户来说,这看起来好像您只是顺利地从一个问题转移到另一个问题。

或者,你可以让每个ShowQuestionActivity开始下一个ShowQuestionActivity,但是你需要通过意图跟踪要显示的问题和所有答案。

答案 2 :(得分:0)

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