我的应用程序 - 当屏幕旋转和我的活动回到第一个时,WebView的活动自动刷新。
示例:当我从A-> B或B-C切换时,WebView处理3活动(A,B,C),然后当屏幕旋转时它将返回到A.
我的问题:我们如何保持活动活动屏幕旋转?
答案 0 :(得分:48)
解决这个问题的方法不止一种。
最简单的方法是将android:configChanges="orientation|screenSize"
添加到清单中的相关Activity
。通过设置此标记,您可以告诉Android不要销毁Activity
,并且您将自己处理所有方向更改(如果有)。
更现代的方法是将WebView
置于Fragment
内,并使用setRetainInstance(true)
标志使其保留其实例。托管Activity
仍会在方向更改时被销毁,但包含Fragment
的{{1}}将被分离并重新附加,而无需重新创建自己。您可以在API演示中找到此功能的an example。请记住,支持库提供了与Honeycomb兼容的片段实现,因此不要被“常规”WebView
类的API级别所迷惑。
答案 1 :(得分:10)
突出显示@kirgy评论,如果您的API>您必须在清单中添加orientation|screenSize
3.2,在某些情况下没有它就无法工作。
答案 2 :(得分:5)
将android:configChanges="orientation"
添加到清单文件中,以防止在屏幕方向更改时重新启动。
像::
<activity android:name=".MyActivity"
android:configChanges="orientation|screenSize"
android:label="@string/app_name">
有关参考资料,请参阅this。