3

我想恢复(到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() 函数......

4

1 回答 1

-2

视图有自己的恢复方法,如果视图android:id设置了属性,这些方法会自动调用。列表视图(如回收或列表视图)可以恢复它们的滚动位置,但不能恢复适配器。

因此,您需要重新创建适配器,用相应的内容填充它并为您的 RecyclerView 设置。

于 2017-11-22T10:21:39.730 回答