我有一个片段,其中包含一个简单的webview和textview。 我正在尝试加载一个网站,但它加载不好。
我用Google搜索并没有找到解决方案。我认为问题的根源是 网站本身https://m.headstart.co.il/#/main?id=17863,但我不太了解网络语言,以了解问题是否真的存在。 问题是什么?以及如何在Webview上正确加载网站? 提前谢谢。
代码块:
View v = inflater.inflate(R.layout.fragment_campaign, container, false);
String address_campaign = "http://www.headstart.co.il/project.aspx?id=17863";
WebView wv = (WebView) v.findViewById(R.id.webView);
// UI setting
// wv.setInitialScale(1);
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setLoadWithOverviewMode(true);
wv.getSettings().setUseWideViewPort(false);
wv.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
wv.setScrollbarFadingEnabled(false);
// wv.setWebViewClient(new WebViewClient());
wv.loadUrl(address_campaign);
wv.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
return v;
xml:
<LinearLayout 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"
android:orientation="vertical"
tools:context=".ContackRWBForDonate">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Help us build a better community"
android:id="@+id/textView4"
android:foregroundGravity="top|center_vertical"
android:gravity="center"
android:textColor="@color/colorPrimary"
android:background="@color/BackGroundMainActivity"
android:layout_gravity="center_horizontal"
android:textStyle="bold" />
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/webView"
android:layout_gravity="bottom" />
答案 0 :(得分:8)
您缺少的是 WebViews设置的更多配置。 我的猜测是你需要允许Dom,本地数据存储等等。
添加这些权限,如果他们解决了,请尝试找到不必要的权限。
wv.getSettings().setAllowContentAccess();
wv.getSettings().setAllowFileAccess();
wv.getSettings().setDatabaseEnabled();
wv.getSettings().setDomStorageEnabled();
我还建议您试用为 Chrome自定义标签创建的新API - 在您的应用中创建自己的Chrome标签。 https://developer.chrome.com/multidevice/android/customtabs