Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ViewPager-如何知道何时显示缓存片段_Android_Android Fragments_Android Viewpager - Fatal编程技术网

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

Android ViewPager-如何知道何时显示缓存片段,android,android-fragments,android-viewpager,Android,Android Fragments,Android Viewpager,我有一个使用TabLayout的ViewPager。我正在通过parentActivity.setCurrentItem()更改ViewPager片段中的页面,它指向同级片段 只有当我从一个兄弟重定向到这个片段时,我才想显示一个不同的视图。我遇到了一个问题,因为片段正在缓存,并且在显示片段时OnCreateView没有触发 @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVi

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

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

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

    ParentActivity parent = (ParentActivity)getActivity();

    if (parent != null){
        String leftMenuToShow = parent.getMenuItemToShowInFragment();
        String elementToShow = parent.getElementToShowInFragment();
    }
}
是否存在在显示缓存片段时触发的事件?

覆盖片段中的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();
    }
}