Android WebView的“goBack”方法并不会刷新上一个页面的URL。如果要实现刷新上一个页面,可以使用WebViewClient的“shouldOverrideUrlLoading”方法。
示例代码如下:
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (view.canGoBack()) {
view.goBack();
view.reload(); // 刷新上一个页面
return true;
} else {
return super.shouldOverrideUrlLoading(view, url);
}
}
});
在该示例代码中,我们首先将WebView设置为使用自定义WebViewClient,然后在shouldOverrideUrlLoading方法中判断WebView是否可以回退。如果WebView可以回退,我们就回退到上一个页面并使用reload方法来刷新页面。如果WebView无法回退,则使用默认的shouldOverrideUrlLoading方法。
这样,我们就可以在不丢失URL堆栈的情况下实现刷新上一个页面了。