0
在Android中,onCreate
方法具有savedInstanceState
作爲Bundle對象的引用。 我只想知道Bundle
對象在哪裏和如何創建?在onCreate(Bundle savedInstanceState)中創建的Bundle對象在哪裏
在Android中,onCreate
方法具有savedInstanceState
作爲Bundle對象的引用。 我只想知道Bundle
對象在哪裏和如何創建?在onCreate(Bundle savedInstanceState)中創建的Bundle對象在哪裏
如果將應用程序的狀態保存在一個包中(通常是onSaveInstanceState中的非持久動態數據),那麼如果需要重新創建活動(例如,方向更改),它可以傳回到onCreate,以便您不要失去這個先前的信息。如果未提供數據,則savedInstanceState爲空。
你需要重寫的onSaveInstanceState(捆綁savedInstanceState)和寫要更改的捆綁參數這樣的應用程序的狀態值:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
// Save UI state changes to the savedInstanceState.
// This bundle will be passed to onCreate if the process is
// killed and restarted.
savedInstanceState.putBoolean("MyBoolean", true);
savedInstanceState.putDouble("myDouble", 1.9);
savedInstanceState.putInt("MyInt", 1);
savedInstanceState.putString("MyString", "Welcome back to Android");
// etc.
}
的包基本上存儲NVP(「名稱的方式 - 值對「)的地圖,並將在獲得通過到的onCreate(),也onRestoreInstanceState(),您會提取這樣的價值觀:我想知道,
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
// Restore UI state from the savedInstanceState.
// This bundle has also been passed to onCreate.
boolean myBoolean = savedInstanceState.getBoolean("MyBoolean");
double myDouble = savedInstanceState.getDouble("myDouble");
int myInt = savedInstanceState.getInt("MyInt");
String myString = savedInstanceState.getString("MyString");
}
但是先生這種捆綁對象是如何創建... –
你能告訴我在哪裏嗎?活動對象已創建 –