刷新 viewpager 内的片段
Refresh fragment inside viewpager
在我的示例中,我在片段中有一个视图寻呼机,并且动态创建视图寻呼机中的选项卡。例如,我有三个主题的选项卡 Sub 1
、Sub 2
、Sub 3
每个主题选项卡都有一些问题。现在我想要的是当我从一个选项卡切换到另一个选项卡时应该重新加载或刷新。
我有google很多我发现刷新片段的是
Fragment currentFragment = getFragmentManager().findFragmentByTag("FRAGMENT");
FragmentTransaction fragTransaction = getFragmentManager().beginTransaction();
fragTransaction.detach(currentFragment);
fragTransaction.attach(currentFragment);
fragTransaction.commit();
这是刷新 Tab 片段的唯一方法还是有什么建议?
从你的问题可以看出,第一次加载时你可以正常工作。所以加载的,为了在用户滑动选项卡时刷新片段,您可以覆盖在 viewpager 中加载的片段 class 中的 setUserVisibleHint
方法。
你可以这样做:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
if (isVisibleToUser){
//This means this fragment is visible to user so you can write code to refresh the fragment here by reloaded the data.
}
}
Note: setUserVisibleHint is called before onCreateView so this will
not work when loading the fragment first time.
在我的示例中,我在片段中有一个视图寻呼机,并且动态创建视图寻呼机中的选项卡。例如,我有三个主题的选项卡 Sub 1
、Sub 2
、Sub 3
每个主题选项卡都有一些问题。现在我想要的是当我从一个选项卡切换到另一个选项卡时应该重新加载或刷新。
我有google很多我发现刷新片段的是
Fragment currentFragment = getFragmentManager().findFragmentByTag("FRAGMENT");
FragmentTransaction fragTransaction = getFragmentManager().beginTransaction();
fragTransaction.detach(currentFragment);
fragTransaction.attach(currentFragment);
fragTransaction.commit();
这是刷新 Tab 片段的唯一方法还是有什么建议?
从你的问题可以看出,第一次加载时你可以正常工作。所以加载的,为了在用户滑动选项卡时刷新片段,您可以覆盖在 viewpager 中加载的片段 class 中的 setUserVisibleHint
方法。
你可以这样做:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
if (isVisibleToUser){
//This means this fragment is visible to user so you can write code to refresh the fragment here by reloaded the data.
}
}
Note: setUserVisibleHint is called before onCreateView so this will not work when loading the fragment first time.