android WebView和WebViewClassic之间的关系是什么

时间:2013-09-26 17:03:21

标签: android webview android-webview copy-paste long-click

我在扩展Android WebView的类中长按文本时出现复制粘贴问题。

我可以复制,但粘贴不起作用。 在调查时,网上某处有人建议调查android.webkit.WebViewClassic。

在WebViewClassic中,有一个名为pasteFromClipboard()的方法。 我认为代码的实际粘贴发生在该方法中,但不确定。

所以有人可以告诉我,我是对的,即在WebViewClassic中进行调查对我来说是否值得?

如果是,请告诉我WebView和WebViewClassic之间的关系,即WebView中的WebViewClassic点击多长时间。

抱歉,我无法公开我的代码或日志。

1 个答案:

答案 0 :(得分:4)

WebViewClassic是WebView的默认WebViewProvider。从实施说明:

The WebView is a thin API class that delegates its public API to a backend WebViewProvider
class instance. WebView extends {@link AbsoluteLayout} for backward compatibility reasons.
Methods are delegated to the provider implementation: all public API methods introduced in     this
file are fully delegated, whereas public and protected methods from the View base classes are
only delegated where a specific need exists for them to do so.

基本上,触摸处理从WebView转发到WebViewClassic实例。如果您通读它的onTouchEvent实现及其内部WebViewInputDispatcher实现PrivateHandler,您可以跟踪触摸处理将导致在WebViewClassic实例上调用pasteFromClipboard()的位置。

是的,你是对的。当您点击PastePopupWindow上的粘贴按钮时,将调用WebViewClassic的pasteFromClipboard();方法。