2
如何禁用從擴展特定窗口小部件的類中保存窗口小部件的狀態?我需要它的行爲就像它是新創建的。Android防止保存狀態
如何禁用從擴展特定窗口小部件的類中保存窗口小部件的狀態?我需要它的行爲就像它是新創建的。Android防止保存狀態
阻止任何View
保持其狀態的最簡單方法是不將id分配給此視圖(即否android:id="..."
)。
如果沒有足夠的,你仍然需要引用視圖,您可以用下一招。覆蓋View
的onSaveInstanceState()
並以下列方式onRestoreInstanceState()
:
@Override
public Parcelable onSaveInstanceState()
{
super.onSaveInstanceState();
return null;
}
@Override
public void onRestoreInstanceState(Parcelable state)
{
super.onRestoreInstanceState(null);
}
這2個功能是公開的,不受保護。我已經嘗試覆蓋onRestoreInstanceState之前。它崩潰,logcat說這是因爲我沒有調用超級函數。無論如何,我應該在onSaveInstance狀態返回什麼? –
我已經從文檔中複製函數原型,並且它們在那裏受到保護。但你說得對,他們是公開的。我也更新了答案,現在我測試了它,它應該可以工作。對不起,第一次誤導。 – inazaruk
謝謝你,重寫這些函數的確有竅門。 –