从MainActivity更新片段中的RecyclerView

时间:2018-01-14 17:03:06

标签: android-studio android-fragments android-tablayout

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

1 个答案:

答案 0 :(得分:1)

在onClick方法的主Activity中执行以下操作:

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

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