繁体   English   中英

方向更改后,活动恢复了两次

[英]Activity was restored twice when the orientation changes

我的Android应用程式活动发生问题。

我发现方向改变时,我的应用在此活动的“ onCreateView()”方法中输入了两次,这给我带来了问题。 当我单击相应的按钮并且此活动开始时一切正常,但是当方向改变时,此活动出现一些问题,因为输入两次,即活动重新启动两次...

...当方向改变时,有人知道活动的行为吗? 为什么会这样?

非常感谢。

由于onCreateView()不是Activity生命周期的一部分,而是Fragment的一部分,因此我假设您在Activity的某处有一个fragment。 我还要假设您使用FragmentManagerFragmentTransaction手动添加此片段。 由于Android会将所有添加的片段保留在方向更改之间,因此很有可能不检查片段是否已存在于此活动中,因此您再次添加它会导致调用其他onCreateView

如果是这种情况,则需要检查onCreate内的savedInstance是否为null。 如果是,则添加片段。 否则,活动将恢复,因此片段已经存在。

我知道很多答案的假设。 但是我仍然在掌握我的心灵感应技巧:)

方向更改时,将调用onDestroy(),然后调用onCreate()。 有关更多信息: http : //developer.android.com/guide/topics/resources/runtime-changes.html

尝试在您的活动中将其添加到AndroidMainfest.xml中:

android:configChanges="orientation|screenSize|keyboardHidden"

这意味着在方向更改时不要重新创建活动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM