代码之家  ›  专栏  ›  技术社区  ›  Todd Hoatson

如何在onResume()中使用新数据刷新回收视图?

  •  0
  • Todd Hoatson  · 技术社区  · 7 年前

    在我的主要活动中,我有一个RecyclerView,其中加载了来自数组列表的数据:

    protected void onReady(Bundle savedInstanceState) {
        ...
        // create summary item array & populate it based on task item array
        _alData = new ArrayList();
        PopulateDataList();
    
        _rv = (RecyclerView) findViewById(R.id.rvDataList);
        _li = getLayoutInflater();
        _rv.setLayoutManager(new LinearLayoutManager(this));
    
        _adapter = new TaskItemAdapter();
        _rv.setAdapter(_adapter);
        ...
    }
    

    当在第二个活动中点击后退按钮时,它返回到我的主要活动,但RecyclerView不会用新数据更新。因此,我想补充以下内容:

    public void onResume() {
        super.onResume();  // Always call the superclass method first
    
        // clear out & re-populate summary list, in case something has changed
        _alData.clear();
        PopulateDataList();
    
        // *** WHAT GOES HERE...???
    }
    

    我不知道如何告诉RecyclerView重新绑定重新填充列表中的数据。。。任何帮助都将不胜感激!

    1 回复  |  直到 7 年前
        1
  •  3
  •   diegoveloper    7 年前

    在populateDataList()之后添加:

    _adapter.notifyDataSetChanged();