android - 如何在显示某个 fragment 时执行一段代码?

标签 android android-fragments android-viewpager

我已经设置了一个包含 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/

相关文章:

android - 转到下一个 fragment 时如何停止显示空白页

java - 安卓模拟器无法运行

java - 带有抽屉导航的 MapFragment

java - 适用于 Android 的 YouTube 数据 API V3 问题

android - 在 PreferenceFragmentCompat 内部实现 PreferenceFragmentCompat

android - ViewPager 内的 fragment 未触发 OnClick 事件

java - ViewPager 中的 Recyclerviews

android - 如何消费产品inapp计费多次购买相同的产品android

java - 膨胀 map fragment 时出错

Android 查找当前 fragment