Android标签布局项的加载顺序是什么?

问题描述

使用最新的Android Studio 4.0.1(建于2020年6月25日),我创建了一个Tabbed活动,该活动将自动生成2个标签

要了解选项卡片段的工作方式(如生命周期),我添加了第三个带有简单修改的​​片段。为了简化说明,以下三个选项卡按项目0/1/2依次为A / B / C。

添加了onStart,onStop,onResume和onDestroy以及原始的onCreate和onCreateView,并添加了Log.i进行跟踪。我观察到的是:

步骤1。启动应用程序后,仅加载选项卡A和选项卡B:“ SectionsPagerAdapter-getItem 0”和“ SectionsPagerAdapter-getItem 1”,onCreate,onCreateView,onStart,onResume。

Q1:为什么不创建选项卡C? 问题2:为什么在实际只显示选项卡A的同时调用选项卡A和B的onResume?

第2步。现在按选项卡B,从屏幕上显示选项卡B,但仅显示有关选项卡C的日志:“ SectionsPagerAdapter-getItem-2”,以及onCreate,onCreateView,onStart,onResume。

Q3:现在选项卡B在屏幕上,但是选项卡B尚未显示任何事件,并且选项卡C实际上是不可见的。为什么?

第3步。现在按选项卡C,从屏幕上显示选项卡C,但是“日志”仅在停止位置显示选项卡A。

Q4:为什么选项卡A onStop不在步骤2中出现,而是在这里

步骤4.现在按下选项卡A,从屏幕选项卡A中显示,日志显示选项卡A onCreateView,onStart,onResume;然后按一下C onStop。

在选项卡之间切换期间,并非始终都调用onDestroy。

因此,从上方看,选项卡布局似乎始终在onResume上保留2个选项卡(应该显示并获得焦点?),任何人都可以帮助解释为什么或合理地使用选项卡布局工作流程?我认为这对于我们在标签之间传输数据很重要。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)