Android WebView 显示空白页面

问题描述 投票:0回答:2

我正在尝试连接到一个网站并使用 WebView 在 Android 手机上显示它,但它总是显示一个空白页面。 我正在尝试连接到 https://givatram.ort.org.il/

我的代码:

public class MainActivity extends AppCompatActivity {




@SuppressLint({"ClickableViewAccessibility", "SetJavaScriptEnabled"})
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final WebView webview = (WebView) findViewById(R.id.webview);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().setLoadWithOverviewMode(true);
    webview.getSettings().setUseWideViewPort(true);
    webview.setWebViewClient(new WebViewClient());
    webview.setWebChromeClient(new WebChromeClient());
    webview.loadUrl("https://givatram.ort.org.il/");
    }
}

XML:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">


<Button
    android:id="@+id/Main_ChangesBTN"

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:layout_marginBottom="8dp"
    android:layout_marginTop="8dp"
    android:background="@drawable/button"
    android:text="@string/Main.Changes"
    android:textAllCaps="false"
    android:textColor="#FFFFFF"
    android:textSize="25dp"
    android:textStyle="bold"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/Main_MessageBTN"
    app:layout_constraintVertical_bias="0.724" />

<Button
    android:id="@+id/Main_MessageBTN"

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:layout_marginBottom="8dp"
    android:layout_marginTop="8dp"
    android:background="@drawable/button"
    android:text="@string/Main.Messages"
    android:textAllCaps="false"
    android:textColor="#FFFFFF"
    android:textSize="25dp"
    android:textStyle="bold"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.811" />

<WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="324dp"
    android:layout_marginBottom="8dp"
    android:layout_marginTop="8dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.0" />

</android.support.constraint.ConstraintLayout>

此代码适用于其他网站,但对于此特定网站,它显示空白页面,该网站正常工作

android android-webview
2个回答
0
投票
    **use inside  onCreate**
    
    webview.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
    webview.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
    if (Build.VERSION.SDK_INT >= 19) {
        webview.setLayerType(View.LAYER_TYPE_HARDWARE, null);
     } else {
        webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    }
        webview.getSettings().setJavaScriptEnabled(true);
        webview.getSettings().setPluginState(WebSettings.PluginState.ON);
        webview.setWebViewClient(new Callback());
        webview.loadUrl("https://givatram.ort.org.il/");
        setContentView(webview);

在 onCreate 之外使用

private class Callback extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(
            WebView view, String url) {
        progressDialog.dismiss();
        return (false);
    }
}

-1
投票

我也遇到同样的问题,请问你找到解决办法了吗?

© www.soinside.com 2019 - 2024. All rights reserved.