在我的示例中,在片段中有一个view pager,并且在View Pager中的选项卡被动态地板条。例如,为三个主题Sub 1
,Sub 2
,Sub 3
的每个主题选项卡都有一些问题。现在我想要的是,当我从一个选项卡切换到另一个选项卡时,应该重新加载或刷新。
我有很多谷歌发现碎片是
Fragment currentFragment = getFragmentManager().findFragmentByTag("FRAGMENT");
FragmentTransaction fragTransaction = getFragmentManager().beginTransaction();
fragTransaction.detach(currentFragment);
fragTransaction.attach(currentFragment);
fragTransaction.commit();
所以这是刷新标签片段或任何建议的唯一方法?
从您的问题中可以很明显,您可以在第一次加载时可以正常工作。因此,加载的片段是为了刷新片段时,当用户滑动选项卡时,您可以覆盖在ViewPager中加载的片段中的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.
}
}
注意:setuservisiblehint在oncreateview之前被调用,所以这将 第一次加载片段时不起作用。