ViewPager - 如何知道何时显示缓存片段

时间:2016-09-15 14:59:54

标签: android android-fragments android-viewpager

我有一个使用TabLayout的ViewPager。我正在通过parentActivity.setCurrentItem()更改ViewPager片段内的页面,它指向兄弟片段。

只有当我从兄弟姐妹重定向到这个片段时,我才想显示不同的视图。我有一个问题,因为片段被缓存,并且在显示片段时OnCreateView没有触发。

显示缓存片段时是否会触发事件?

1 个答案:

答案 0 :(得分:1)

在片段中覆盖 setUserVisible(boolean isVisibleToUser)似乎可以解决问题。在创建片段时以及每次显示片段时都会触发此操作。

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);

    ParentActivity parent = (ParentActivity)getActivity();

    if (parent != null){
        String leftMenuToShow = parent.getMenuItemToShowInFragment();
        String elementToShow = parent.getElementToShowInFragment();
    }
}