一个适用于所有片段的WebView客户端

时间:2020-08-23 00:33:06

标签: android android-fragments android-webview

你好! 我正在为Woocommerce网站创建WebView应用程序。我遇到了一个问题。 Woocommerce有一个购物车,我的应用程序有一个BottomNavigationView(片段)。我在WebView中多次将产品添加到购物车,但是CartFragment始终为空。添加到购物车的物品不存在。 我为每个片段创建了一个新的WebViewClient,我想问题是因为如此。 我正在寻找一种解决方案,该解决方案将为所有片段提供一个WebViewClient。这些都是我的猜测。那些知道的人,请帮忙。

家庭片段

webView = (WebView) root.findViewById(R.id.webViewHome);
imageView = (ImageView) root.findViewById(R.id.tenor);

webView.setWebChromeClient(new WebChromeClient());

WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
webView.getSettings().setAppCacheEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setSavePassword(true);
webSettings.setSaveFormData(true);


webView.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url.indexOf("product") != -1) {
            Intent intent = new Intent(getContext(), CategoryActivity.class);
            intent.putExtra("URL", url);
            startActivity(intent);
        } else {
            view.loadUrl(url);
        }
        return true;
    }
    public void onPageFinished(WebView view, String url) {
        imageView.setVisibility(root.GONE);
        webView.setVisibility(root.VISIBLE);
    }
});
webView.setWebChromeClient(new WebChromeClient());
webView.loadUrl("https://bekko.kz/homeappandroid/");


Glide.with(this).load(R.drawable.loading).into(imageView);
return root;

购物车片段

webView = (WebView) root.findViewById(R.id.webViewCart);
imageView = (ImageView) root.findViewById(R.id.tenor);



WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
webView.getSettings().setAppCacheEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setSavePassword(true);
webSettings.setSaveFormData(true);


webView.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url.indexOf("product") != -1) {
            Intent intent = new Intent(getContext(), CategoryActivity.class);
            intent.putExtra("URL", url);
            startActivity(intent);
        } else {
            view.loadUrl(url);
        }
        return true;
    }
    public void onPageFinished(WebView view, String url) {
        imageView.setVisibility(root.GONE);
        webView.setVisibility(root.VISIBLE);
    }
});
webView.loadUrl("https://bekko.kz/cart/");

Glide.with(this).load(R.drawable.loading).into(imageView);

0 个答案:

没有答案
相关问题