在我的应用程序的主要活动中,我有三个选项卡,单击它们时,会将活动的 contentView 切换到不同的布局。我的问题是,当方向改变时,会自动选择第一个选项卡并加载第一个布局。
我对如何解决此问题的第一个想法是将选项卡位置保存在 savedInstanceState 或 sharedPrefs 文件中,但其中一个解决方案的问题是它们也会在首次打开应用程序并调用 OnCreate() 时发生.
明确地说,我希望发生以下情况:
- 在应用程序加载时(新活动,调用 onCreate())- 始终加载第一个选项卡
- 在应用恢复时(应用暂停后,调用 Onresume())- 加载最后打开的选项卡
- 方向更改时(更改后,调用 OnCreate() 吗?)- 加载最后打开的选项卡
基本上,我试图找到一种方法来区分方向变化(女巫调用 OnDestroy() 和 onCreate())以及应用程序首次启动时的 onCreate() 和 onDestory()。
如果可能的话,我宁愿不在清单中的 configChanges="orientation" 行,而是自己处理开关,因为我听说在处理不同的屏幕尺寸和密度等时会导致问题。
有什么办法可以做到这一点,还是我必须适应不同的行为?