有没有一种合理的方式可以检测到
在我的应用程序中,我有一个
问题出现在用户从默认选定的选项卡导航到其他选项卡时。在旋转更改时,
Activity
是由于屏幕方向改变而重新启动,还是仅仅因为收到了Intent
而启动?在我的应用程序中,我有一个
FragmentActivity
,其中包含两个Fragment
。用户可以使用ActionBar
选项卡在这些Fragment
之间导航。
还提供了一种方法,即Intent
可以携带EXTRA
,以保存要选择的默认选项卡的指示器。因此,当Activity
启动时,可以通过EXTRA
确定任何两个选项卡中的任何一个为默认选项卡。问题出现在用户从默认选定的选项卡导航到其他选项卡时。在旋转更改时,
Activity
会重新启动,从EXTRA
再次选择默认选项卡,而不是选择用户导航到的选项卡。
savedInstanceState
不为null
,那就意味着Activity由于方向更改而重新启动了。 - jaibatriksavedInstanceState
在其他情况下也可能是非空的...例如,如果Android操作系统在后台因内存不足而终止了活动,则会出现这种情况。这与“配置更改”不同。 - Alex Lockwoodactivity.isChangingConfigurations
的布尔值存储在savedInstanceState中。 - giorgos.nl