[英]Activity was restored twice when the orientation changes
我的Android应用程式活动发生问题。
我发现方向改变时,我的应用在此活动的“ onCreateView()”方法中输入了两次,这给我带来了问题。 当我单击相应的按钮并且此活动开始时一切正常,但是当方向改变时,此活动出现一些问题,因为输入两次,即活动重新启动两次...
...当方向改变时,有人知道活动的行为吗? 为什么会这样?
非常感谢。
由于onCreateView()
不是Activity生命周期的一部分,而是Fragment的一部分,因此我假设您在Activity的某处有一个fragment。 我还要假设您使用FragmentManager
和FragmentTransaction
手动添加此片段。 由于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.