【问题标题】:Android webview not loading url?Android webview没有加载网址?
【发布时间】:2019-08-10 06:19:19
【问题描述】:

我设置了一个 webview,但是当我单击该项目时,一个空白片段会显示在实际 web 项目应该位于的位置。我尝试在移动浏览器上加载我的网址,它们工作正常。我在 android manifest 中有 Internet 权限。

网页视图布局文件

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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=".activities.HomeActivity">

    <WebView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/webView"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

网页视图片段

public class WebViewDetailsFragment extends Fragment {

    private WebView detailsWebView;
    private String articleSource;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_web_view_details, container, false);
    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        detailsWebView = view.findViewById(R.id.webView);
        detailsWebView.getSettings().setLoadsImagesAutomatically(true);
        detailsWebView.getSettings().setJavaScriptEnabled(true);
        detailsWebView.getSettings().setUseWideViewPort(true);
        detailsWebView.getSettings().setLoadWithOverviewMode(true);
        detailsWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
        // Configure the client to use when opening URLs
        detailsWebView.setWebViewClient(new WebViewClient());
        setItems();
        detailsWebView.loadUrl(articleSource);


    }

    private void setItems(){
        NewsArticle newsArticle = NewsFragment.news.get(NewsAdapter.pos);
        articleSource = "https://www.google.com";
    }
}

【问题讨论】:

  • 我刚刚尝试运行您的代码,它运行良好。我知道的唯一问题是关于 HTTP/HTTPS,但就我而言,两者都可以正常工作。也许你可以在这里得到解决方案:link
  • www.google.com 真的出现了还是显示了一个空白屏幕?
  • 对我来说,即使没有 URL 更改它也可以工作。我之前在其他页面遇到过 SSL 证书问题。
  • 哪个ssl证书?这意味着什么?如何在我的代码中修复它?
  • 您可以查看之前评论中的链接。它解决了大多数问题。否则我不知道如何提供帮助。

标签: java android android-webview


【解决方案1】:

我也试过你的代码。它运行良好。fragmentManager 中可能存在问题。您是否检查过视图是否可见

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 2019-08-19
    • 1970-01-01
    相关资源
    最近更新 更多