每次查看 FramentStatePagerAdapter 中的片段时执行代码

Execute Code Each Time a Fragment in FramentStatePagerAdapter is viewed

我正在使用 FragmentStatePagerAdapter 创建具有 3 个选项卡的 SlidingTabLayout。每次在我的屏幕上看到 Fragment 时,我都想做点什么。我试过将我想要发生的事情放在相应片段的 onStart() 中,如下所示:

public void onStart() {
    //Do This
}

但它仅在 Fragment 移动 2 个片段时有效(即第 1 到第 3,第 3 到第 1)。有没有办法在每次在屏幕上查看片段时做一些事情?

您可以覆盖 setUserVisibleHint()

public class MyFragment extends Fragment {
  @Override
  public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (isVisibleToUser) { 
       // here fragment is visible to user
    }
    else {  
    }

  }
}