Webview android отображает пустую страницу - PullRequest
0 голосов
/ 31 марта 2020

Мне нужно отобразить и открыть PDF-файл в android WebView. Я пробовал много кодов здесь, но каждый раз, когда я открываю фрагмент веб-просмотра, отображается пустой экран

Ниже мой xml файл:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".fragments.ViewerFragment">

    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <ProgressBar
        android:id="@+id/progressBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:visibility="gone" />

</RelativeLayout>

Ниже мой kotlin код:

webView.webViewClient = object : WebViewClient() {
            override fun onPageFinished(view: WebView?, url: String?) {
                progressBar.visibility = View.GONE
                super.onPageFinished(view, url)
            }

            override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
                progressBar.visibility = View.VISIBLE
                super.onPageStarted(view, url, favicon)
            }
        }


        webView.settings?.javaScriptEnabled = true
        webView.settings?.javaScriptCanOpenWindowsAutomatically = true
        webView.settings?.builtInZoomControls = true
        webView.settings?.domStorageEnabled = true
        webView.settings?.loadWithOverviewMode = true
        webView.settings?.useWideViewPort = true
        webView.settings?.displayZoomControls = false
        webView.webChromeClient = WebChromeClient()
        webView.loadUrl("http://docs.google.com/gview?embedded=true&url=${url}")

Много раз pdf отображается в течение нескольких секунд. Но много раз вызывается onPageFinished и веб-просмотр отображает пустую страницу.

Кто-нибудь имеет представление об этой проблеме?

...