【发布时间】:2019-06-26 11:44:07
【问题描述】:
我阅读了一些关于这个问题的帖子(this、this、this),但我的问题没有解决方案。
这是一个相当简单的 WebView 组件,它在 html 模板中加载 JSON 数据。独特的情况可能是它是 Activity 中的选项卡片段组件。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusableInTouchMode="true">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
<view.BKProgressBar
android:id="@+id/progressBar"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
</RelativeLayout>
这是Java代码:
webView = view.findViewById(R.id.webView);
progressBar = view.findViewById(R.id.progressBar);
webView.getSettings().setJavaScriptEnabled(true);
webView.setVerticalScrollBarEnabled(true);
webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
webView.setVisibility(View.VISIBLE);
progressBar.setVisibility(View.GONE);
}
});
progressBar.setVisibility(View.GONE);
webView.setVisibility(View.VISIBLE);
webView.addJavascriptInterface(new WebAppInterface(getActivity()), "AndroidNativeWrapper");
reloadJSON();
该设备是运行Android 8的华为型号ATU-L21。有人有同样的问题吗?
【问题讨论】:
-
请尝试使用:setWebChromeClient 代替 setWebViewClient
-
@SaswataDas 我试过了,没用