ScrollView嵌套webview,webview加载网页完成后,滑动页面,使ScrollView不处于置顶,这时若点击页面中的链接跳转到新的网页。就会出现新页面没有置顶现象。
问题的原因就是跳转到新的网页,没有将ScrollView置顶。
解决办法很简单,只需在将ScrollView置顶就可以了。
核心代码:
mCommunityLv.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
mCommunityLv.fullScroll(ScrollView.FOCUS_UP);
}
});
触发时机的选择。
webview加载网页时有几个回调。
我们可以在开始加载网页的回调里将ScrollView置顶。
具体如下:
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
mCommunityLv.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
mCommunityLv.fullScroll(ScrollView.FOCUS_UP);
}
});
}
也可以在网页加载完成的回调里置顶。
具体如下:
@Override
public void onPageFinished(WebView view, String url) {
mCommunityLv.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
mCommunityLv.fullScroll(ScrollView.FOCUS_UP);
}
});
}
以上就是解决ScrollView嵌套webview,webview跳转后页面不能置顶的方法。如果更好的方法,欢迎指教。