我一直在尝试确定为什么当用户切换使用ViewPager和sectionsPageAdapter时要显示的选项卡时,onPause()
和onResume()
方法没有被触发。
我假设当用户更改显示的选项卡时,将调用onPause()
或onDestroy()
方法。然后,如果用户返回到选项卡,则会调用onResume()
方法,但似乎不是功能...
有什么方法可以确定用户何时切换选项卡并知道将其切换到哪个选项卡?类似于onFragmentBeingDisplayed()
或类似的内容。
谢谢!
这是因为ViewPager在当前片段的左侧和右侧加载了一些片段。默认情况下,ViewPager在片段的左侧加载一个,在右侧加载一个。您可以通过以下方式更改号码:viewpager.setOfScreenPageLimit(int);
您的想法正在androidx's
片段中以完全相同的方式工作。表示onPause
和onResume
将相应地调用。因此,第一个建议是使用androix
。检查此答案:https://stackoverflow.com/a/57886441/7682257
由于某种原因,如果您不想使用androidx
,则在片段中重写setUserVisibleHint
方法,该方法为您提供isVisibleToUser
作为参数。