如何在Android中从webView的TextBox中选择和复制文本?

时间:2016-01-01 07:18:32

标签: android html webview android-webview

我需要从WebView中选择文字。但我需要选择的文字属于TextBox网站中的EditTextWebView)。当我在PC和移动设备的其他浏览器(crome,firefox)中打开该网页时,我可以从TextBox中选择和复制文本。

看起来android的WebView没有提供其他浏览器提供的所有功能。

那么为什么我无法在WebView中从TextBox中选择和复制文本。这个问题的解决方案是什么?

这是我的网页视图代码。

 webView = (WebView)dialog.findViewById(R.id.webview);
                    WebSettings settings = webView.getSettings();
                    settings.setJavaScriptEnabled(true);
                    webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
                    webView.setWebChromeClient(new WebChromeClient() {
                                                   @Override
                                                   public void onProgressChanged(WebView view, int newProgress) {
                                                       super.onProgressChanged(view, newProgress);
                                                   }
                                               }
                    );
                  /*  webView.setWebViewClient(new WebViewClient() {
                                                 @Override
                                                 public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
                                                     super.onReceivedError(view, request, error);
                                                 }
                                             }
                    );*/

                    webView.loadUrl(msg);

                    emulateShiftHeld(webView);

此功能负责在webview中选择和复制功能。

private void emulateShiftHeld(WebView view)
    {
        try
        {
            Method m = WebView.class.getMethod("emulateShiftHeld", null);
            m.invoke(this, null);

            KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
                    KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0);
            shiftPressEvent.dispatch(view);
            Toast.makeText(this, "select_text_now", Toast.LENGTH_SHORT).show();
        }
        catch (Exception e)
        {
            Log.e("dd", "Exception in emulateShiftHeld()", e);
        }
    }

这是网站

中的Textbox代码
 <input type="text" value="But I am not able to select and copy this this text because this text belongs to TextBox" readonly="">

img

0 个答案:

没有答案