用户执行的带有ViewPager和SectionsPageAdapter方法的Android片段单击选项卡名称以显示它或向其滑动

问题描述 投票:0回答:1

我一直在尝试确定为什么当用户切换使用ViewPager和sectionsPageAdapter时要显示的选项卡时,onPause()onResume()方法没有被触发。

我假设当用户更改显示的选项卡时,将调用onPause()onDestroy()方法。然后,如果用户返回到选项卡,则会调用onResume()方法,但似乎不是功能...

有什么方法可以确定用户何时切换选项卡并知道将其切换到哪个选项卡?类似于onFragmentBeingDisplayed()或类似的内容。

谢谢!

java android android-fragments android-viewpager
1个回答
0
投票

这是因为ViewPager在当前片段的左侧和右侧加载了一些片段。默认情况下,ViewPager在片段的左侧加载一个,在右侧加载一个。您可以通过以下方式更改号码:viewpager.setOfScreenPageLimit(int);

您的想法正在androidx's片段中以完全相同的方式工作。表示onPauseonResume将相应地调用。因此,第一个建议是使用androix。检查此答案:https://stackoverflow.com/a/57886441/7682257

由于某种原因,如果您不想使用androidx,则在片段中重写setUserVisibleHint方法,该方法为您提供isVisibleToUser作为参数。

© www.soinside.com 2019 - 2024. All rights reserved.