如何从android中的webview获取文本?

时间:2014-02-07 09:12:07

标签: android text webview information-retrieval

如何从android中的webview获取文本? 以下是我的一些代码:

webView = (WebView)findViewById(R.id.wv_memo);
    webView.requestFocus(View.FOCUS_DOWN);
    webView.setOnTouchListener(new View.OnTouchListener()
    {
        @Override
        public boolean onTouch(View v, MotionEvent event)
        {
            switch (event.getAction())
            {
                case MotionEvent.ACTION_DOWN:
                case MotionEvent.ACTION_UP:
                    if (!v.hasFocus())
                    {
                        v.requestFocus();
                    }
                    break;
            }
            return false;
        }
    });
    WebSettings webSettings = webView.getSettings();
    webSettings.setBuiltInZoomControls(true);
    webSettings.setJavaScriptEnabled(true);
    webView.addJavascriptInterface(new MyJavaScriptInterface(this), "HtmlViewer");


    webView.loadDataWithBaseURL(null,"<div contenteditable=\"true\" style=\"height:220px;\"></div>", "text/html", "utf-8", "about:blank");

2 个答案:

答案 0 :(得分:0)

您应该从此课程中获取Html标记的值

class MyJavaScriptInterface 
{

        private Context ctx;

        MyJavaScriptInterface(Context ctx) 
        {
            this.ctx = ctx;
        }

        public void showHTML(String html) 
        {
             String htmlTags = html;
        }
}

在上面的代码中,在showHTML()方法中,变量htmlTags具有你想要的html的全文。

答案 1 :(得分:0)

添加的界面(MyJavaScriptInterface)中的所有方法都没有使用@android.webkit.JavascriptInterface进行注释;它们在API 17中不可见。WebView.addJavascriptInterface不应使用minSdkVersion&lt; 17出于安全原因:JavaScript可以使用反射来操纵应用程序。