有没有一种合理的方法可以检测 Activity
是由于屏幕方向更改而重新启动,还是仅仅因为 Intent
到达而启动?
在我的应用程序中,我有一个包含两个 Fragment
的 FragmentActivity
。用户可以使用 ActionBar
选项卡在这些 Fragment
之间导航。
还规定此 Activity
的 Intent
可以携带一个 EXTRA
,该 EXTRA
可以保存要选择的默认选项卡的指示器。因此,当 Activity
启动时,可以默认选择两个选项卡中的任何一个,由 EXTRA
决定。
当用户从默认选择的选项卡导航到另一个选项卡时,就会出现问题。在旋转更改时,Activity
重新启动,使默认选项卡再次从 EXTRA
中选择,而不是选择用户导航到的选项卡。
最佳答案
通过onSaveInstanceState发送选中的tab名称
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("tabName", "tab1");
}
并在onCreate中获取值
if (savedInstanceState != null) {
String tabname = savedInstanceState.getString("tabName");
}
关于Android - 检测 Activity 是否因屏幕方向改变而启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12368627/