2011-01-30 98 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,因爲您無法始終控制其調用的方式。