每次查看 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 {
}
}
}
我正在使用 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 {
}
}
}