我的应用程序正在使用大量 webviews,这些 webviews 位于 ViewPager 持有的 fragment 中。
每当我在装有 Jellybean 的 Galaxy Nexus 上滑动应用程序时,我都会一次又一次地收到以下控制台消息:
08-23 13:44:03.374: E/webcoreglue(21690): Should not happen: no rect-based-test nodes found
谁能向我解释这里出了什么问题,以便我能够解决这个问题?
最佳答案
出现此问题是因为在某些情况下 WebView 无法注意到其可见 rect 已更改,因此就 webkit 而言,页面仍然不可见。因此,所有的触摸都落在窗口之外,并被拒绝。
最干净的解决方法是当您知道 WebView 的可见性已更改(例如响应来自 viewpager 的 setPrimaryItem 回调)时,调用 webview.onScrollChanged(webview.getScrollX(), webview.getScrollY() );
您需要子类化 webview 以将 protected onScrollChanged 提升为公共(public)方法。
关于Android WebView JellyBean -> 不应该发生 : no rect-based-test nodes found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12090899/