我的Android应用程序在用户正在进行测验时跟踪正确答案的数量。如果用户的答案与正确答案匹配,则跟踪该答案的计数器会递增。该逻辑发生在“onResume”方法中。
问题是,如果用户从此活动按下主页按钮,然后重新进入该应用程序,它将在此活动中恢复,并且计数器再次递增。
我能想到的唯一解决方案是在正确答案发生时将正确答案字段设置为“幻数”,例如99,并在进入答案检查逻辑之前先检查该字段。如果它是99,那么跳过答案检查逻辑并重新显示。
有更好的方法吗?
答案 0 :(得分:2)
您似乎正在使用应用程序生命周期方法来导致非生命周期效应。请发一些代码。如果您依赖onResume来表明您已从其他Activity返回,那么您应该查看startActivityForResult。如果不是这种情况,您需要发布一些程序的更多说明。但是,除了设置应用程序状态之外,您不应该使用onResume,因为您无法始终控制它的调用方式。
答案 1 :(得分:2)
我不太确定你遇到的真正问题,具体说明为什么你要在onResume
事件中增加正确答案的计数器。您确定某种按钮,用户确认他的答案。你不验证那里给定答案的正确性,即按钮的点击方法吗?
在onResume
事件中实现此类逻辑有点危险,因为它是由底层Android操作系统调用的。