从 MainActivity 更新 Fragment 中的 RecyclerView

Update RecyclerView in Fragment from MainActivity

我有一个带有包含 RecyclerView 的 Fragment 的 TabLayout。在 MainActivity 中,我有一个工具栏,它可以选择从 RecyclerView 中删除一个项目。我希望通过删除动画发生这种情况(因此我需要调用 notifyItemRemoved()),因此我认为我不能简单地更新传递给 RecyclerView 的数据集,然后重新填充片段。有谁知道实现此目的的方法(在我的 MainActivity 中的 onClick 方法中实现什么代码以及在我的 Fragment/RecyclerViewAdapter 中实现什么代码)?

在您的主要 Activity 中,在您的 onClick 方法中执行如下操作:

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

简要说明:就像这样,您正在检索片段容器中的片段实例,空检查始终是确保您不会在某些 NPE 中结束的好习惯,然后从你的片段实例。