onRestoreInstanceState

onRestoreInstanceState

我想还原一些数据(到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设置。

07-28 12:10