如何保存所有字段的狀態,我在我的類中擴展了View?在View類中保存所有字段的狀態 - Android
@Override
protected Parcelable onSaveInstanceState() {
Parcelable localState = super.onSaveInstanceState();
Bundle bundle = new Bundle();
bundle.putSerializable("gameEngine", this.gameEngine);
bundle.putParcelable("inherited", localState);
return bundle;
}
@Override
protected void onRestoreInstanceState(Parcelable localState) {
Bundle bundle = (Bundle) localState;
this.gameEngine = ((GameEngine) bundle.getSerializable("gameEngine"));
super.onRestoreInstanceState(bundle.getParcelable("inherited"));
}
這似乎並不拯救領域。
謝謝。
這個答案是正確的,但是對於需要存儲大量變量的人來說,這可能不是最好的解決方案。 另外我發現你不能把一個多維數組放在包中。我不得不創建一個算法來將多重拼合成一個單獨的用於存儲,然後將另一個重新組合成多個用於恢復。 謝謝:) – Waddas 2013-05-02 00:25:43
據我所知,這是做到這一點的唯一方法。 您可以將putSerializable用於多維數組。請注意,通過Bundle的所有內容都被序列化(克隆),因此所有對其他活動的引用都將丟失。您可以使用靜態變量來保留它們。 對於最近的答案抱歉,我來自歐洲。 – PhpXp 2013-05-02 07:48:16