代码之家  ›  专栏  ›  技术社区  ›  BramH

从MainActivity更新片段中的RecyclerView

  •  0
  • BramH  · 技术社区  · 7 年前

    我有一个包含回收视图的片段的表格布局。在MainActivity中,我有一个工具栏,可以选择从RecyclerView中删除项目。我希望通过remove动画实现这一点(因此我需要调用notifyItemRemoved()),因此我认为我不能简单地更新传递给RecyclerView的数据集,然后重新展开片段。有人知道实现这一点的方法吗(在MainActivity的onClick方法中实现什么代码,在Fragment/RecycleServiceAdapter中实现什么代码)?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Ricardo    7 年前

    在onClick方法的主要活动中,执行以下操作:

    MyFragment myFragment = (MyFragment) getSupportFragmentManager().findFragmentById(R.id.fragment_container);
    if(myFragment != null && myFragment.isAdded(){
        myFragment.myRecyclerView.notifyItemRemoved();
    }
    

    简要说明:像这样,当您在片段容器中检索片段实例时,空检查始终是一种很好的做法,以确保您不会最终进入某个NPE,然后从片段实例访问回收器视图。