是否可以从其适配器重新加载片段?

问题描述 投票:0回答:1

我有一个带有自定义recycerview的片段,该片段使用REST调用填充。当我单击列表项时,将弹出一个对话框。每当我退出对话框时,我都想重置该列表。我发现以下代码:

FragmentManager manager = ((AppCompatActivity) context).getSupportFragmentManager();
Fragment currentFragment = manager.findFragmentByTag("productTag");
FragmentTransaction fragmentTransaction = manager.beginTransaction();
fragmentTransaction.detach(currentFragment);
fragmentTransaction.attach(currentFragment);
fragmentTransaction.commit();

当我按下onClick按钮(一种退出对话框的方法)时,应用崩溃并出现logcat提示:

Attempt to invoke virtual method 'void androidx.fragment.app.Fragment.setNextAnim(int)' on a null object reference

据我所知,尽管它不断崩溃,但我应该能够使用上面的代码调用该片段。那是问题还是完全不同的东西?

android android-fragments refresh adapter
1个回答
0
投票

您可以按照以下步骤进行。

在适配器中设置一个侦听器,该侦听器将在Fragment中实现,用于更新片段中所需的任何内容。

  1. 创建一个侦听器,并在其中添加例如函数update()。
  2. 使您的片段实现此侦听器的update()方法将在您的片段中被覆盖,并在此处添加您想要的代码,以防您刷新片段以便重新加载数据。
  3. 将此侦听器传递给适配器。
  4. [在您的适配器中,查看要在何处更新片段,比如说按钮的单击方法,这里您从侦听器调用update()方法,片段将被更新。
© www.soinside.com 2019 - 2024. All rights reserved.