WebView执行goBack后标题未正常获取,部分机型遇到这问题
原因:执行goBack ,onReceivedTitle方法不会执行
解决方法:
1、在WebViewClient的onPageFinished方法里设置标题
@Override public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
String title = view.getTitle();
// TODO 设置标题
}
2、自己维护一个数组,在onReceivedTitle时把标题加入数组,goBack时移除当前标题,并设置新的标题
@Override public void onReceivedTitle(WebView view, String title) {
super.onReceivedTitle(view, title);
historyTitles.add(title);
}
if (mWebView.canGoBack()) {
mWebView.goBack();
String title = historyTitles.get(historyTitles.size() - 2);
historyTitles.remove(historyTitles.size() - 1);
// TODO 设置标题
}
目前选择了方法2,方法1标题栏有时会闪现URL