我有一個像Clapperboard一樣的應用程序,其中我使用了一個變量,我每隔一毫秒就去i ++(我需要毫秒來顯示每秒幀數,並且計時器只更新一次每秒),然後以HH:MM:SS:FF格式顯示它。我也有一個退出按鈕,它的推移Android onSaveInstance狀態不工作(對我來說)
if (item.getTitle() == "Quit") {
Process.killProcess(id);
}
的問題是,我希望應用程序記住我的價值,當我按下退出,那麼計時器會在同一點是,如果退出前啓動我再次開始。 我試圖
public void onSaveInstanceState(Bundle outState) {
outState.putLong(MILLISECONDS, i);
super.onSaveInstanceState(outState);
}
然後通過
public void onStart(Bundle savedInstanceState) {
super.onStart();
i = savedInstanceState.getLong(MILLISECONDS);
}
和
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
i = savedInstanceState.getLong(MILLISECONDS);
}
調用它,但它不工作。 另外,如果我去
onCreate(Bundle savedInstanceState) {
...
i = savedInstanceState.getLong(MILLISECONDS);
...
}
應用程序部隊關閉。 有什麼想法我做錯了,請嗎? 非常感謝。
所以......是因爲我在殺死它:|?該死的...我花了2-3天的時間試圖解決這個問題,剛纔我想起了這個問題,當我發佈這個問題時可能很重要。關於不這樣做的Android方式...我知道,但我喜歡有一個退出按鈕:D。如果我退出應用程序,是否仍有可能這樣做?謝謝你的啓發Sebi。 – bboylalu 2010-08-25 16:54:55
是的,但你退出了錯誤的方式。使用以下代碼可以正確退出: moveTaskToBack(true); – Sebi 2010-08-25 17:43:08
請勿使用moveTaskToBack(true)。完成()' – Falmarri 2010-08-25 19:42:01