android WebView和WebViewClassic有啥关系

Posted

技术标签:

【中文标题】android WebView和WebViewClassic有啥关系【英文标题】:what is relation between android WebView and WebViewClassicandroid WebView和WebViewClassic有什么关系 【发布时间】:2013-10-02 18:41:47 【问题描述】:

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

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

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

那么谁能告诉我我是对的,即在 WebViewClassic 中进行调查对我来说是否值得?

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

抱歉,我不能公开我的代码或日志。

【问题讨论】:

【参考方案1】:

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(); 方法。

【讨论】:

以上是关于android WebView和WebViewClassic有啥关系的主要内容,如果未能解决你的问题,请参考以下文章

Android webview加载的页面怎样调试JS

Android--WebView控件

Android Webview 和Javascript交互,实现Android和JavaScript相互调用

JS和Android交互

Android Activity 到 WebView 和 WebView 到 Activity 参数传递

android中webview与js交互