我有一个包含片段的活动,当单击该片段上的某些内容时,我将该片段替换为另一个片段。如果设备在第二个片段中旋转,则onCreate
调用该活动并再次重新创建第一个片段。
如何在设备旋转时阻止 onCreate 被调用?
在我的清单中,我有这个
<activity android:name="CalActivity" android:configChanges="orientation|keyboardHidden"/>
据我了解,将 configChanges 添加到该活动可以防止活动被破坏和重新创建,但 onCreate 仍然被调用并弄乱了片段。
我也尝试放入setRetainInstance()
碎片,但这也无济于事
如果设备没有像应有的那样旋转碎片,并且我不想将其设为仅一个方向的活动,那么这更像是一种黑客行为,而不是实际解决问题
我还可以做些什么?
编辑:
这就是我创建片段的方式
Fragment miniMonthFrag = new MonthByWeekFragment(System.currentTimeMillis(), false);
ft.replace(R.id.cal_frame, miniMonthFrag).commit();