Android: onCreateView() 从一个选项卡开始运行

Android: onCreateView() runs from one tabs away

我正在创建一个选项卡式应用程序,但我 运行 遇到了问题。 onCreateView() 运行s 当我点击我所在位置旁边的选项卡时。我的意思是,如果我有三个选项卡(设置、地图和电机),如果我单击电机选项卡,地图和设置的 onCreateView() 视图将 运行。在我通过单击设置获得两个选项卡之前,电机的 onDestroyView() 也不会 运行。无论如何,当单击或移开特定选项卡时,是否有它们 运行?

发生这种情况的原因是因为您正在使用 ViewPager 来显示您的标签内容。

ViewPager 旨在预加载当前 tab/fragment 任一侧的 tabs/fragments 中的内容(至少一个)。出现这种情况是因为 Android 需要预加载此内容,以便在您 change/swipe 在 tabs/fragments 之间响应地显示它 ViewPager

这不能被禁用,因为您可以设置为预加载的相邻标签的最小数量是 1(这意味着当使用ViewPager)。

我建议弄清楚为什么这对您的应用程序来说是个问题(因为在大多数情况下它不应该是),然后决定 ViewPager 是否适合您的特定应用程序。作为您所描述的行为是 ViewPager.

的预期行为