[英]android TextView onRestoreInstanceState get wrong value
我的代碼是這樣的:
@Override
public Parcelable onSaveInstanceState() {
Parcelable superState = super.onSaveInstanceState();
SavedState savedState = new SavedState(superState);
savedState.progress = mProgress;
return savedState;
}
@Override
public void onRestoreInstanceState(Parcelable state) {
SavedState savedState = (SavedState) state;
mProgress = savedState.progress;
super.onRestoreInstanceState(savedState.getSuperState());
}
該mProgress
值是60,當我把它傳遞給savedState
中onSaveInstanceState
和我得到0 onRestoreInstanceState
。
如果我修改代碼savedState.mProgress = mProgress
在onSavedInstanceState
到savedState.mProgress = 10
然后我在得到了10 onRestoreInstanceState
。
好奇怪 如果我將mProgress
靜態,則得到60。我不知道怎么回事。
這樣使用
@Override
protected void onCreate(Bundle savedInstanceState) {
if (savedInstanceState != null) {
mProgress = savedInstanceState.getInt("progress");
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("progress", mProgress);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
if (savedInstanceState != null) {
mProgress = savedInstanceState.getInt("progress");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.