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

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

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

最佳答案

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

关于android - ViewPager-如何知道何时显示缓存的 fragment ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39514346/

10-12 01:14
查看更多