0

我正在实现一个带有 webviews 的 ViewPager。webviews 包含与用户交互的javascripts。

第一个页面上的 webview 工作,而其他人不工作。

如果 webview 高于屏幕,则在我向下或向上滚动后,它就可以工作。我认为这就像首先显示的 webview 保持“焦点”而不是让其他人获得事件。

我无法解决它,如果我将它们设置为第一页,所有 webview 都可以工作,但它们在以下页面中不起作用。

4

1 回答 1

0

好的,经过一番头疼后,我发现这与此处显示的问题相同: Android WebView JellyBean -> 不应该发生:找不到基于矩形的测试节点

我通过继承 WebView 并覆盖该方法来解决它:

@Override
public boolean onTouchEvent(MotionEvent event) {
  if (event.getAction() == MotionEvent.ACTION_DOWN){
    webview.onScrollChanged(webview.getScrollX(), webview.getScrollY());
  }
  return super.onTouchEvent(event);
}

可能显示的第一个 webview 是正确创建的,而另一个由 viewpager 在后台创建的 webview 接收事件的区域错误。

也许有更好的方法来解决它,但至少现在它有效。

于 2013-09-16T14:46:05.633 回答