Android 刷新 Recyclerview 延迟

Android refresh Recyclerview delayed

我有一个带有回收视图的简单布局。 在 onCreateView 方法中我设置了 Recyclerview:

  @Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_overview, container, false);
    recyclerView = (RecyclerView) rootView.findViewById(R.id.rv_overview);
    list = new ArrayList<>();
    LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
    layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
    recyclerView.setLayoutManager(layoutManager);

    list = getOverviewList(getActivity());
    adapter = new OverviewRecyclerAdapter(getActivity(), list);
    recyclerView.setAdapter(adapter);
    final Context context = getActivity();
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            list =getOverviewList(context);
            adapter.notifyDataSetChanged();
        }
    }, 1000);
    return rootView;
}

如您所见,Recyclerview 在创建视图后需要刷新一秒钟。我试图用一个处理程序来实现这一点。但是 Handler 中的代码不会刷新 Recyclerview。但显然它应该。

But obviously it should.

不应该,因为您没有为适配器设置新数据

list =getOverviewList(context);

您只是设置为变量新列表,但它不会更改适配器中的旧列表

编辑:

试试这样的

list.clear();
list.addAll(getOverviewList(context));

如果您确定要修改第二次调用 getOverViewList(Context ctx) 时获得的列表,代码看起来不错应该绝对有效,否则很难判断它是否刷新,因为它会再次加载相同的数据