【发布时间】: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