我正在实施一个内部带有Web视图的ViewPager。 webviews包含与用户交互的javascripts。
第一页上的webview工作,而其他页面不起作用。
如果webview高于屏幕,则在我向下或向上滚动之后,它会起作用。 我认为这就像webview首先表现出的那样:#34;焦点"而不是让其他人得到这些事件。
我不能解决它, 所有webview工作如果我将它们设置为第一页,但它们在以下页面中不起作用。
答案 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在后台创建,有一个错误的区域来接收事件。
也许有更好的方法来解决它,但至少现在它有效。