【问题标题】:Android Webview content should not be lost on orientation change, but GUI should be updated properlyAndroid Webview 内容不应在方向更改时丢失,但应正确更新 GUI
【发布时间】:2012-03-19 07:45:19
【问题描述】:

我一直在尝试保持加载的页面和 WebView 的 javascript 值在方向更改和暂停活动时保持不变。 首先,我尝试覆盖 configChanges,但这导致我的 GUI 没有正确更新(我有一个可以在方向更改时更改位置的滑动抽屉)。之后,我尝试将 WebView 放在片段中并调用 setRetainInstance(true);但这并不能保持 WebView 的内容完整。我尝试通过不重新创建来保持同一个对象的存活,但 android 不允许以这种方式重用视图。

我的问题是:有什么方法可以保留 webview 的内容,而不必在每次方向更改时重新加载它,同时让其他 GUI 组件正确更新。

我希望我的问题足够清楚,但如果有任何不清楚之处,我很乐意详细说明。

编辑:我已经尝试在清单中添加 android:configChanges="keyboardHidden|orientation",这就是我所说的“覆盖 configchanges”

似乎唯一的解决方案是在方向更改时再次更新所有 javascript 变量。由于我尚未通过 javascript 运行大量更新,因此我无法提供有关此操作的速度和资源的太多信息。

【问题讨论】:

    标签: android webview orientation


    【解决方案1】:

    我知道你已经尝试过了

     android:configChanges="keyboardHidden|orientation"
    

    但是试试这个

    android:configChanges="keyboardHidden|orientation|screenSize"
    

    在 Android 3.2 及更高版本中,“屏幕大小”会在您旋转时发生变化,这会导致 web 视图重新创建自身。有关详细信息,请参阅下面的链接答案。

    我在这里找到了这个答案 https://stackoverflow.com/a/11903546/655822

    【讨论】:

      【解决方案2】:

      将此添加到您的 androidmanifest 文件中.....活动

      android:name=".YourActivityHere" 
      android:configChanges="keyboardHidden|orientation"
      

      【讨论】:

      • 我已经尝试过了,这就是我所说的覆盖 configChanges 的意思。当我实现这个时,我的 GUI 将不会被重新创建,例如我的 slidindrawer 将不会正确更新
      【解决方案3】:

      试试这个把它放在清单中

      android:configChanges="orientation|keyboardHidden"></activity>
      

      你班里的这个

      @Override
      public void onConfigurationChanged(Configuration newConfig) {
      super.onConfigurationChanged(newConfig);
      }
      

      【讨论】:

      • 我已经尝试过了,这就是我所说的覆盖 configChanges 的意思。当我实现这个时,我的 GUI 将不会被重新创建,例如我的 slidindrawer 将不会正确更新
      【解决方案4】:

      在 android Manifest 文件中添加以下行。

      android:configChanges="keyboardHidden|orientation"

      【讨论】:

      • 我已经尝试过了,这就是我所说的覆盖 configChanges 的意思。当我实现这个时,我的 GUI 将不会重新创建,例如我的 slidindrawer 将无法正确更新。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-26
      • 1970-01-01
      • 2011-10-14
      相关资源
      最近更新 更多