我想恢复(到 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() 函数...
最佳答案
View 有自己的恢复方法,如果 View 设置了 android:id
属性,这些方法会自动调用。 ListView (如回收或 ListView )可以恢复其滚动位置,但适配器不能。
因此你需要重新创建适配器,用相应的内容填充它并为你的 RecyclerView 设置。
关于android - 从 onRestoreInstanceState() 刷新 RecyclerView 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47431936/