单击任何按钮刷新选项卡布局中的片段
Refresh fragment in Tab layout on any button click
在我的一个应用程序中,我使用带有三个片段的选项卡布局和 viewpager。在每个片段中,我使用 Java Rest API 从服务器获取数据。此服务器数据取决于片段按钮点击。例如。
在 process 片段中,当我点击 play 按钮时,卡片视图进入 completed 片段,但是它没有。当我刷新 activity 的时候,意思是 activity 关闭然后开始。我应该怎么做才能刷新片段?
试试这个!将此代码粘贴到您的 Activity.
viewpager.setOffscreenPageLimit(1);
您可以尝试这样刷新片段:
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.detach(YourFragment.this).attach(YourFragment.this).commit();
我认为,您需要在模型更改时更新 Adapter,而不是整个 Fragment。
无论您想为刷新片段执行什么操作,只需将它放在一个方法中,然后从片段中的 onStart()
方法调用它,对我有用。
在你的 Fragment 中试试这个 class
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
// Refresh your fragment here
}
}
在我的一个应用程序中,我使用带有三个片段的选项卡布局和 viewpager。在每个片段中,我使用 Java Rest API 从服务器获取数据。此服务器数据取决于片段按钮点击。例如。
试试这个!将此代码粘贴到您的 Activity.
viewpager.setOffscreenPageLimit(1);
您可以尝试这样刷新片段:
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.detach(YourFragment.this).attach(YourFragment.this).commit();
我认为,您需要在模型更改时更新 Adapter,而不是整个 Fragment。
无论您想为刷新片段执行什么操作,只需将它放在一个方法中,然后从片段中的 onStart()
方法调用它,对我有用。
在你的 Fragment 中试试这个 class
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
// Refresh your fragment here
}
}