首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android WebView loadData显示html

Android WebView loadData显示html
EN

Stack Overflow用户
提问于 2022-01-29 07:51:59
回答 1查看 421关注 0票数 0

在我的应用程序中,我使用WebView。我得到的内容以html格式。所以我使用的是loadData()。Html内容属于支付网关。最初,当我使用loadData()加载它并签入setWebViewClient()方法shouldOverrideUrlLoading() onPageFinished()时,我将获得它的html内容,我将得到它的html内容,这是我最初加载的。但页面已成功加载。

在付款完成后,当我重定向回回调URL时,它会显示html内容.

这是我的WebView代码

代码语言:javascript
运行
复制
viewDialoque.showDialog();
final JavaScriptInterface myJavaScriptInterface = new JavaScriptInterface(this);
webView.getSettings().setLightTouchEnabled(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(myJavaScriptInterface, "AndroidFunction");

webView.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        Log.i(TAG, "Processing webview url click...");
        view.loadUrl(url);
        return true;
    }

    public void onPageFinished(WebView view, String url) {
//                Log.i(TAG, "Finished loading URL: " + url);
        viewDialoque.hideDialog();
    }

    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
        Log.e(TAG, "Error: " + description);
    }
});

webView.getSettings().setLoadsImagesAutomatically(true);
webView.getSettings().setDomStorageEnabled(true);
webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setBuiltInZoomControls(false);
webView.getSettings().setSupportZoom(false);

//        webView.loadUrl(url);
webView.loadData(url, "text/html; charset=utf-8", "UTF-8");

如果您需要更多的信息,请告诉我。

编辑: html

字符串htmlData = "\n“+ "\n”+ document.getElementById("payForm").submit();

重定向..。

N“+”n“;

EN

回答 1

Stack Overflow用户

发布于 2022-01-29 08:19:43

试着像这样

代码语言:javascript
运行
复制
WebView urlWebView = (WebView)findViewById(R.id.containWebView);
    urlWebView.setWebViewClient(new AppWebViewClients());
    urlWebView.getSettings().setJavaScriptEnabled(true);
    urlWebView.getSettings().setUseWideViewPort(true);

    // urlWebView.loadUrl("https://www.google.com/"); //For URL

    urlWebView.loadData(yourData, "text/html", "UTF-8");
    // OR
    urlWebView.loadDataWithBaseURL(null, yourData, "text/html", "UTF-8", null);
    
    
    public class AppWebViewClients extends WebViewClient {
    
    
    
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            // TODO Auto-generated method stub
            view.loadUrl(url);
            return true;
        }
    
        @Override
        public void onPageFinished(WebView view, String url) {
            // TODO Auto-generated method stub
            super.onPageFinished(view, url);
    
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70903339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档