2011-01-30 99 views
0

我的Android应用程序跟踪正确答案的数量,同时用户在采取测验过程。如果用户的答案与正确的答案相匹配,则跟踪此的计数器将递增。这个逻辑发生在“onResume”方法中。Android的生命周期问题重新:增加计数器

的问题是,如果用户按下此活动主页按钮,然后重新进入应用程序,将恢复在此活动,计数器被再次递增。

我能想到的唯一的办法是正确的答案字段设置为“幻数”,如99,当一个正确的答案发生了,才去到答案检查逻辑检查,第一。如果它是99,那么跳过答案检查逻辑并重新显示。

有没有更好的方法来做到这一点?

回答

2

我不太清楚你有真正的问题,并在具体的你为什么要增加在onResume事件正确答案的计数器。用户确认他的答案时,您肯定有某种按钮。难道你没有验证给定答案的正确性,即按钮的点击方法吗?
onResume事件实现这样的逻辑是某种危险,因为它是由底层Android操作系统调用。

+0

这两个答案都很好,所以我只挑了一个,两个都是upvoted。在onClick事件中没有检查答案的原因是它将控制权交给另一个活动,该活动显示正确答案,正确答案的总数,剩余问题等。我没有得到的是当活动结束后,它从堆栈中消失并被销毁 - 所以每次都调用onCreate。 – 2011-01-30 18:24:30

2

好像你正在使用的应用程序生命周期的方法来使非周期效应。请张贴一些代码。如果您依靠onResume表明您已从不同的Activity返回,则应该查看startActivityForResult。如果情况并非如此,您需要发布一些关于您的程序的更多描述。但是,除了设置应用程序状态之外,您不应该使用onResume,因为您无法始终控制其调用的方式。