我想还原一些数据(到onRestoreInstanceState中),更确切地说是将一个具有本地文件路径的数组还原。我的适配器使用此数组显示图像(本地):
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
....
mPicturesList = savedInstanceState.getParcelableArrayList(BUNDLE_KEY_INPUT_FILE_PATH);
if (mPicturesList != null && mPicturesList.size() > 0) {
// Refresh list
mItemPostPictureAdapter.notifyDataSetChanged();
}
super.onRestoreInstanceState(savedInstanceState);
}
不幸的是,我的清单永远不会从这里刷新,我不知道为什么。我在适配器中放置了一个断点,在这里从未调用过它。
在正常过程中,刷新列表可以完美运行,但不能通过onRestoreInstanceState()函数运行...
最佳答案
视图具有自己的还原方法,如果视图设置了android:id
属性,则会自动调用这些方法。列表视图(如recycle或listview)可以恢复其滚动位置,但不能恢复适配器。
因此,您需要重新创建适配器,用相应的内容填充适配器并为RecyclerView设置。