我在我的android中有webview,我显示网页。 这是android代码。
$('#summernote').summernote('code')
我的问题是,当我点击webview中的链接时,是否可以在每次webview内容更改时显示加载?
答案 0 :(得分:0)
使用webview let data = [
[
['firstName', 'Joe'],
['lastName', 'Blow'],
['age', 42],
['role', 'clerk']
],
[
['firstName', 'Mary'],
['lastName', 'Jenkins'],
['age', 36],
['role', 'manager']
]
];
let result = data.map(item => {
return item.reduce((acc, item) => {
acc[item[0]] = item[1];
return acc;
}, {});
});
console.log(result);
setWebChromeClient()
答案 1 :(得分:0)
您需要创建自定义webview客户端,并在其中需要检查页面更改。可以使用boolean
变量
private class CustomWebViewClient extends WebViewClient {
boolean onPageStarted = false;
Runnable hideLoadingRunnable = new Runnable() {
@Override
public void run() {
if (!onPageStarted ) {
mProgress.dismiss();
}
}
};
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
onPageStarted = true;
mProgress.show();
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
onPageStarted = false;
yourwebview.postDelayed(hideLoadingRunnable, 1000);
}
}
根据评论更新
public class WebViewActivity extends Activity {
WebView mWebview;
private ProgressBar mProgress;
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.youractivitylayout);
super.onCreate(savedInstanceState);
mWebview = (WebView) findViewById(R.id.webView);
mProgress = (ProgressBar) findViewById(R.id.yourprogress);
mWebview.getSettings().setJavaScriptEnabled(true);
mWebview.getSettings().setDomStorageEnabled(true);
mWebview.setWebViewClient(new CustomWebViewClient());
}
private class CustomWebViewClient extends WebViewClient {
boolean onPageStarted = false;
Runnable hideLoadingRunnable = new Runnable() {
@Override
public void run() {
if (!onPageStarted) {
mProgress.setVisibility(View.GONE);
}
}
};
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
onPageStarted = true;
mProgress.setVisibility(View.VISIBLE);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
onPageStarted = false;
yourwebview.postDelayed(hideLoadingRunnable, 1000);
}
}
}