是否有可能在android studio中每次都显示加载webview内容?

时间:2018-01-11 09:37:52

标签: android webview

我在我的android中有webview,我显示网页。 这是android代码。

$('#summernote').summernote('code')

我的问题是,当我点击webview中的链接时,是否可以在每次webview内容更改时显示加载?

2 个答案:

答案 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);

        }
    }
}