android中方向改变时的活动重新加载

android中方向改变时的活动重新加载,android,webview,android-activity,reload,Android,Webview,Android Activity,Reload,我开发了一个应用程序,它包含web视图 我的问题 当我的手机从纵向转向横向时,整个应用程序将再次加载,web视图将重新加载,显示网站的第一页 因此,我对该阶段中的屏幕方向或保存数据感到困惑,因此我如何修复它…默认行为是在发生配置更改(例如方向更改)时重新启动活动 要覆盖此项,您需要告诉系统您将自己处理方向更改,方法是将此项添加到中的清单文件中,当发生此类更改时,将调用该清单文件 请参见是,在Android中,当您更改屏幕方向时,活动将被销毁并重新创建。因此,您需要在重新创建时恢复应用程序状态。另

我开发了一个应用程序,它包含web视图

我的问题

当我的手机从纵向转向横向时,整个应用程序将再次加载,web视图将重新加载,显示网站的第一页


因此,我对该阶段中的屏幕方向或保存数据感到困惑,因此我如何修复它…

默认行为是在发生配置更改(例如方向更改)时重新启动活动

要覆盖此项,您需要告诉系统您将自己处理方向更改,方法是将此项添加到
中的清单文件中,当发生此类更改时,将调用该清单文件


请参见

是,在Android中,当您更改屏幕方向时,活动将被销毁并重新创建。因此,您需要在重新创建时恢复应用程序状态。另一种方法是使用回调方法
onSaveInstanceState()
,您可以使用该方法将状态保存在
包中


这里对这些活动进行了解释:我建议您在该页面上查看示例和更详细的说明

Android活动生命周期清楚地表明了这种行为

发生了什么

每当启动activity时(在onStart()方法之后)都会创建

onCreate(Bundle onSavedInstance)

上述变量onSavedInstance最初接收null,因为未保存任何内容。 但在定向过程中,整个布局层次结构必须根据现有模式的新模式进行调整(从纵向->横向,反之亦然)。此更改可能会删除活动中以前的数据。因此,为了避免此类问题(丢失数据),有一种方法

onConfigurationChange(Bundle saveSomething)
您将调用此方法来处理对此的一些配置更改, 默认实现将保存一些数据,如editText中的一些文本

注意就规格而言,此方法应用于保存一些琐碎的数据

示例 假设您已将背景颜色应用于activty布局,现在将其旋转,默认实现不会保存它,但如果需要,可以按如下方式保存它

saveSomething.putInt("color",1);

Inside onCreate 

    protected void onCreate(Bundle onSavedInstance){

        if(onSavedInstance!=null){
           int color=onSavedInstance.getInt("color");
           if(color==1){
             setBackgroundColor(Color.BLACK);
           }
        }
}
在清单文件的活动元素中添加以下行,您将处理配置中的更改

android:configChanges="keyboardHidden|orientation|screenSize"

您是否尝试在活动中覆盖
onConfigurationChanged
?确定onConfigurationChanged覆盖然后您可以将其保留为空。在configChanges属性中添加
keyboardHidden | screenSize
怎么样?
android:configChanges="keyboardHidden|orientation|screenSize"