Android 如何在webview中显示html页面的全部内容文本

Android 如何在webview中显示html页面的全部内容文本,android,html,webview,Android,Html,Webview,我在阅读webview中的内容时发现了一个问题。我已经尝试了,但无法解决 我在webview中显示了一个html页面。我需要一个字符串html页面的内容 java代码 WebView mainContent = (WebView)layout.findViewById(R.id.webView1); mainContent.getSettings().setJavaScriptEnabled(true); WebSettings webSettings = m

我在阅读
webview
中的内容时发现了一个问题。我已经尝试了,但无法解决

我在
webview
中显示了一个html页面。我需要一个
字符串
html页面的内容

java代码

WebView mainContent = (WebView)layout.findViewById(R.id.webView1);
         mainContent.getSettings().setJavaScriptEnabled(true);
         WebSettings webSettings = mainContent.getSettings();
         webSettings.setJavaScriptEnabled(true);
         webSettings.setBuiltInZoomControls(true);
         mainContent.requestFocusFromTouch();
          mainContent.setWebViewClient(new WebViewClient() {
                @Override
                public void onPageFinished(WebView view, String url) {
                    super.onPageFinished(view, url);
                    mainContent.loadUrl("javascript:window.HTMLOUT.processHTML('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
                }
            });
         mainContent.setWebChromeClient(new WebChromeClient());
         mainContent.loadUrl("file:///android_asset/"+filename.get(position));
         webSettings.setDefaultFontSize(40);

我没有看到我的任何日志。如何在
字符串中获取
HTML
页面的内容(文本)。我做错了什么?提前感谢

您是否尝试启动该页面的GET请愿书

responseString
是字符串中的HTML页面。例如:

class RequestTask extends AsyncTask<String, String, String>{

    @Override
    protected String doInBackground(String... uri) {
        HttpClient httpclient = new DefaultHttpClient();
        HttpResponse response;
        String responseString = null;
        try {
            response = httpclient.execute(new HttpGet(uri[0]));
            StatusLine statusLine = response.getStatusLine();
            if(statusLine.getStatusCode() == HttpStatus.SC_OK){
                ByteArrayOutputStream out = new ByteArrayOutputStream();
                response.getEntity().writeTo(out);
                out.close();
                responseString = out.toString();
            } else{
                //Closes the connection.
                response.getEntity().getContent().close();
                throw new IOException(statusLine.getReasonPhrase());
            }
        } catch (ClientProtocolException e) {
            //TODO Handle problems..
        } catch (IOException e) {
            //TODO Handle problems..
        }
        return responseString;
    }

    @Override
    protected void onPostExecute(String result) {
        super.onPostExecute(result);
        //Do anything with response..
    }
}

我是通过这种方式得到内容的

mainContent.getSettings().setJavaScriptEnabled(true);
            WebSettings webSettings = mainContent.getSettings();
            webSettings.setJavaScriptEnabled(true);
            webSettings.setBuiltInZoomControls(true);
            mainContent.requestFocusFromTouch();
            mainContent.setWebChromeClient(new WebChromeClient());
            mainContent.loadUrl("file:///android_asset/"+filename.get(position));
            mainContent.setWebViewClient(new WebViewClient() {
                @Override
                public void onPageFinished(WebView view, String url) {
                    super.onPageFinished(view, url);
                    mainContent.setWebViewClient(null);    
           mainContent.loadUrl("javascript:window.HTMLOUT.processHTML('<div>'+document.getElementsByTagName('div')[0].innerHTML+'</div>');");

从web或本地文件查看此帖子?@NickF从web我已经在webview中显示了此文件我需要获取您想要在web视图中显示html字符串吗?@Suru否我需要在webview中显示的html页面中的文本无法理解您的代码。。我需要从该WebView获取文本,这是一个使用AsyncTask获取URL的请求。它以字符串形式返回HTML页面(返回responseString)。您可以使用webview url并启动此任务以字符串形式检索其内容。显示类型不匹配:无法从AsyncTask转换为StringIt's not working。。我没有得到任何错误,但也应用程序minimized@MakeitSimple日志和应用程序中没有强制关闭的内容?
try {
        String page = new RequestTask().execute("http://myurl.com").get();
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ExecutionException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
mainContent.getSettings().setJavaScriptEnabled(true);
            WebSettings webSettings = mainContent.getSettings();
            webSettings.setJavaScriptEnabled(true);
            webSettings.setBuiltInZoomControls(true);
            mainContent.requestFocusFromTouch();
            mainContent.setWebChromeClient(new WebChromeClient());
            mainContent.loadUrl("file:///android_asset/"+filename.get(position));
            mainContent.setWebViewClient(new WebViewClient() {
                @Override
                public void onPageFinished(WebView view, String url) {
                    super.onPageFinished(view, url);
                    mainContent.setWebViewClient(null);    
           mainContent.loadUrl("javascript:window.HTMLOUT.processHTML('<div>'+document.getElementsByTagName('div')[0].innerHTML+'</div>');");
class MyJavaScriptInterface {
        @SuppressWarnings("unused")
        public void processHTML(final String html) {
            runOnUiThread(new Runnable() {
                public void run() {
                     Spanned page = Html.fromHtml(html);
                     System.out.println("content"+page);

                }
            });
        }
    }