这就是我想要实现的目标:我在其中组装了一个带有一些标签和互联网资源的本地html页面,然后使用WebView加载html页面网页,并且在结尾处有一个“查看更多”按钮页面,当有人点击按钮时,我将重新组装html页面(使用旧数据和新数据,例如刷新twitter以加载更多twits)并让WebView再次加载它。但是当用户点击按钮时滚动到某个位置,所以我想让WebView滚动到用户点击按钮之前的位置。
现在,我创建一个WebViewClient并实现:
public void onPageFinished(WebView view, String url) {
view.scrollTo(last_X, last_Y);
}
它没有像我期望的那样工作,我有两个问题,伙计们请帮助我: 1.这个回调函数不能一直工作。在大多数情况下,它有效,但有时,由于未知的原因,它只是不起作用。 2.即使它有效,它也不是我想要的。正如我所提到的,html页面包含一些互联网资源,如
<a href='whateversite/whateverimage'><img src='whateversite/whateverimage'></img></a>
因此只有在加载所有图像时才调用scrollTo函数,它需要花费太多时间而且没有必要,有没有办法在加载页面时但在加载所有其他资源之前开始滚动?每说,只要webview.getContentHeight()&gt; 0,滚动就可以了。
为我糟糕的英语道歉,我将不得不使用大量的文字来试图让自己清楚。
伙计们,请停下来〜
答案 0 :(得分:0)
做这样的事情:
view.post(new Runnable() {
public void run() {
view.scrollTo(last_X, last_Y);
}
});