我需要从WebView
中选择文字。但我需要选择的文字属于TextBox
网站中的EditText
(WebView
)。当我在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="">