我正在试图保存我的回收视图的LinearLayoutManager状态。
Fragment.java :
@Override
public void onSaveInstanceState(Bundle outState) {
Log.i("frag", "onSaveInstanceState called");
super.onSaveInstanceState(outState);
outState.putParcelable("myState", mGridLayoutManager.onSaveInstanceState());
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (savedInstanceState != null) {
Log.i(MainActivity.TAG, "restore called from createView");
mGridLayoutManager.onRestoreInstanceState(savedInstanceState.getParcelable("myState"));
}
.....
....
}但是savedInstanceState总是空的。
我已经尝试在onCreate &方法中恢复它的状态,但没有成功。我做错什么了?
我检查了这些问题,以确定这是保存和恢复的正确方法:
发布于 2015-10-28 23:12:07
尝试在调用super.onSaveInstanceState()之后调用outstate.putParcelable(Outstate)?
如果这不起作用,也许可以尝试将一个字符串放入包中,看看它是否与mGridLayoutManager.onSaveInstanceState()失败有关?
https://stackoverflow.com/questions/33402999
复制相似问题