为什么notifyDataSetChanged()不刷新我的RecyclerView列表?

时间:2018-09-13 20:45:13

标签: android-recyclerview reload notifydatasetchanged

我可能自己想到了这一点,但我想知道是否有人可以验证我是否正确。

我在更新RecyclerView中的列表时遇到问题。我试图返回上一个Fragment,并且在onResume()中调用了Adapter.notifyDataSetChanged();(不是静态的,我使用了我的Adapter的实例变量),但是没有任何变化(它没有强制再次调用onCreateViewHolder()onBindViewHolder()的适配器。当我调用RecyclerView.setAdapter()时,一切重新加载正常。

我需要提到的是,当我回到FragmentRecyclerView时,我只是弹出顶部片段以返回到有问题的片段。但是,当我重新创建Fragment时,它工作正常。这很可能是因为我再次致电setAdapter();

以下是我编写代码的示例:

if (mAdapter == null) {
            mAdapter = new CompetitorAdapter(mContext, mCompetitorsList);
            mRecyclerView.setAdapter(mAdapter);
        } else {
            mAdapter.notifyDataSetChanged();
        }
}

我是正确的假设,如果我们停留在Activity或Fragment上,但是我们已经更改了数据集,那么仅应调用notifyDataSetChanged?

0 个答案:

没有答案