从 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 中结束的好习惯,然后从你的片段实例。
我有一个带有包含 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 中结束的好习惯,然后从你的片段实例。