如何在显示某个片段时执行代码块?

时间:2016-01-13 17:30:42

标签: android android-fragments android-viewpager

我已经设置了一个包含3个片段的寻呼机,我想在显示片段#2时执行特定的代码块,但问题是当片段#1显示时,来自该片段的onCreate / onResume方法执行。我知道这背后的逻辑是在实际需要片段#2时提前做好工作,但是如果我需要在片段#2显示时需要做些什么,我该怎么办呢?

1 个答案:

答案 0 :(得分:3)

您可以实施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) {

    }
});