我有一個應用程序,有三個頁面,其中之一是主頁。如果用戶轉到兩個子頁面之一,用戶可以輸入幾個我想保存的字段。我一直在研究onPause()和onSaveInstanceState()。我想我只是想對這兩者作出明確的解釋,如果onPause()更好,並且代碼的例子。這就是我爲onSaveInstanceState()所做的努力。什麼是我的需要,onPause()或onSaveInstanceState()更好?
protected void onSaveInstanceState(Bundle outState) {
// Save away the original text, so we still have it if the activity
// needs to be killed while paused.
outState.putDouble("quizPts",qpts);
outState.putDouble("quizV",qvalue);
outState.putDouble("tPts",tpts);
outState.putDouble("tValue", tvalue);
outState.putDouble("hPts", hpts);
所以這就是我如何設置捆綁,通過給它一個ID和一個值。
public void onRestoreInstanceState(Bundle outState) {
super.onRestoreInstanceState(outState);
// Restore UI state from the savedInstanceState.
// This bundle has also been passed to onCreate.
qpts = outState.getDouble("quizPts");
qvalue = outState.getDouble("quizV");
tpts = outState.getDouble("tPts");
tvalue = outState.getDouble("tValue");
hpts = outState.getDouble("hPts");
這是我如何反駁它,問題是我不明白如何通過捆綁來恢復它。我正在設置我需要回到設置爲UI的變量的變量。活動框架採用的是護理:
任何意見將androider
所以如果我不通過任何我需要的包是全球性的?如果我做onSaveInstanceState()是多餘的?我需要做兩個還是隻選一個? – zach
Bundle是爲您提供的,與Android平臺調用該方法的方式相同。你根本不需要做任何事情。沒有全局變量,什麼也沒有。只需實現這兩種方法,它們將在需要時被調用。 – Femi
Re「如果您的Activity類由於任何原因被系統調用而被銷燬」。不是因爲*任何原因,而是在OP的用例中,是的。無法依賴onSaveInstanceState獲取任何真正重要的信息。 – ToolmakerSteve