1

当设备从纵向变为横向时,我启用了 onConfigChanges 事件并正确处理。但是,在 onConfigChanges 之后,当再次计算页面并完成它时,会触发哪个事件?谢谢

4

1 回答 1

0

它在文档中说“某些设备配置可能会在运行时发生变化(例如屏幕方向、键盘可用性和语言)。当发生这种变化时,Android 会重新启动正在运行的 Activity(onDestroy()被调用,然后是onCreate())。重新启动行为被设计为通过使用与新设备配置匹配的替代资源自动重新加载您的应用程序,帮助您的应用程序适应新配置。” [强调我的]

但是,如果您自己处理更改,则唯一被调用的方法是onConfigurationChanged(). 您希望进行的任何更改都必须在此方法中,因为不会调用任何 onX 方法。通过自己处理配置更改,您已经告诉它不要破坏和重新加载您的应用程序 - 因此,页面实际上不会再次被计算。唯一发生的事情是您在onConfigurationChanged()方法中定义的事情。

“现在,当这些配置之一发生变化时,MyActivity 不会重新启动。相反,MyActivity 会收到对 . 的调用onConfigurationChanged()。”

来源:http: //developer.android.com/guide/topics/resources/runtime-changes.html

于 2012-07-02T17:16:19.567 回答