Android:仅在App Launch上运行

时间:2015-11-28 16:08:03

标签: java android android-fragments oncreate

我在使用3个片段的应用上工作。当我启动App时,我希望默认加载其中一个片段,并且我通过在Activity OnCreate()方法中创建片段事务来实现这一点,但是当旋转屏幕时也会调用此方法,因此每次用户旋转手机时都会加载开始片段。我怎样才能避免这种情况,因此片段交易只有在应用程序启动时才会完成,但如果它被轮换则不会。

禁用旋转不是一个选项,因为我希望它在横向和纵向都可用。

1 个答案:

答案 0 :(得分:2)

执行此操作的规范方法是仅在事件savedInstanceState == null中添加片段。在轮换之后,或者在重新创建活动时,savedInstanceState将是有效的捆绑包。

if (savedInstanceState == null) {
    getFragmentManager().beginTransaction()
            .add(R.id.container, myFragment)
            .commit();
}