我已经设置了一个包含 3 个 fragment 的寻呼机,我想在显示 fragment #2 时执行特定的代码块,但问题是在显示 fragment #1 时执行此 fragment 的 onCreate/onResume 方法。我知道这背后的逻辑是在实际需要 fragment#2 时提前进行工作,但是如果在显示 fragment#2 时我需要特别做某事,我该怎么办?
最佳答案
你可以实现一个 OnPageChangeListener
, 覆盖 OnPageSelected
并以这种方式在 ViewPager
上设置它:
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
if (position == 1) { // Meaning the position of the 2nd Fragment
doSomeCode();
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
关于android - 如何在显示某个 fragment 时执行一段代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34773220/