【问题标题】:Android Studio 3.0.1 WebView Reloading page on rotationAndroid Studio 3.0.1 WebView Reloading page on rotation
【发布时间】:2018-02-28 10:41:53
【问题描述】:

您好,我在手机上使用我的应用时遇到问题,当我在应用内旋转屏幕时,webview 会重新加载所有内容,返回到我们打开应用的第一页。

我给你留下了这里发生的事情的 GIF,如果你知道解决方案,请帮助我。我也离开了我的主类和 android manifest。

Proof Video

Main.java

AndroidManifest.xml

【问题讨论】:

标签: android android-studio webview


【解决方案1】:

在您的 Manifest.xml 文件中添加 android:configChanges="orientation|screenSize"

如下:

<activity
        android:name=".MyActivity"
        android:configChanges="orientation|screenSize"
        android:label="@string/title_activity"
        android:theme="@style/AppTheme.MyTheme">

</activity>

【讨论】:

  • 此解决方案不会重新布局视图
  • 在我的 AdndroidManifest.xml 中不适合我我添加它但不工作
【解决方案2】:

创建一个片段来包装您的 WebView。始终在 onCreateView 中返回相同的 WebView,以便在方向更改时不会创建新的 WebView,从而不会重新加载。

public class MyWebViewFragment extends Fragment {
    private WebView mWebView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRetainInstance(true);
    }

    @Override
    public void onResume() {
        super.onResume();
        mWebView.onResume();
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        if (mWebView == null)
            mWebView = new WebView(getActivity());

        ViewGroup parent = (ViewGroup) mWebView.getParent();
        if (parent != null)
            parent.removeView(mWebView);

        return mWebView;
    }
}

将此片段添加到您的活动中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-17
    • 2018-05-06
    • 2022-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    相关资源
    最近更新 更多