ViewPager中的WebView无法接收用户输入

时间:2013-09-11 15:13:47

标签: android webview android-viewpager

我正在实施一个内部带有Web视图的ViewPager。 webviews包含与用户交互的javascripts。

第一页上的webview工作,而其他页面不起作用。

如果webview高于屏幕,则在我向下或向上滚动之后,它会起作用。 我认为这就像webview首先表现出的那样:#34;焦点"而不是让其他人得到这些事件。

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

1 个答案:

答案 0 :(得分:0)

好的,经过很多头痛后,我发现这与此处显示的问题相同: Android WebView JellyBean -> Should not happen: no rect-based-test nodes found

我通过继承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在后台创建,有一个错误的区域来接收事件。

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