繁体   English   中英

从onRestoreInstanceState()刷新RecyclerView不起作用

[英]refreshing a RecyclerView from onRestoreInstanceState() doesn't work

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM