代码之家  ›  专栏  ›  技术社区  ›  Jshin

我如何知道焦点何时在viewpager中的某个片段上[[副本]

  •  0
  • Jshin  · 技术社区  · 6 年前

    我在视图寻呼机中创建了五个片段。

    所有片段都是在包含viewpager的活动执行时创建的。

    在其他方面,这是我的意图。

    然而,这个方法通过Intent引发了另一个活动,这是我不想要的。

    我希望这个方法执行的时间点是当片段被放到屏幕上时。

    不能使用片段的一般生命周期方法,因为它与活动执行并发工作。

    如果你知道我可以用它的任何方法,我会很感激让你知道。

    祝您愉快:)

    2 回复  |  直到 6 年前
        1
  •  2
  •   theanilpaudel    6 年前

    在片段中重写此方法

    @Override
        public void setMenuVisibility(boolean menuVisible) {
            super.setMenuVisibility(menuVisible);
            //if fragment is visible then menuVisible = true else false
        }
    
        2
  •  1
  •   Parthiv Mistri    6 年前

    viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
            override fun onPageScrollStateChanged(state: Int) {}
            override fun onPageScrolled(position:Int,positionOffset:Float,positionOffsetPixels: Int) {}
            override fun onPageSelected(position: Int) {
                when (position) {}
            }
        })