android webview返回显示空白页,Android:WebView的方法goBack()显示一个空白页面

我处理这个问题的方法是使用loadDataWithBaseURL加载根页面后保留一个本地堆栈指针,指向加载页面的数量。返回时,如果我的指针命中1,我在根级别并使用loadDataWithBaseURL重新加载根页面。我使用这段代码在带有片段的活动中,所以这些片段实现了接口IBackButtonListener,它帮助我捕获主活动中的后退按钮并将事件传播到当前片段。如果该片段返回true,则意味着它处理了该事件。

IBackbuttonListener.java

public interface IBackButtonListener {

public boolean onBackButtonPressed();

}

片段实现IBackButtonListener并且具有从HTML数据加载的网页视图。

private int historyStackPointer = 0;

...

@Override

public boolean onBackButtonPressed() {

boolean rtn = false;

if (webView.canGoBack()) {

if(historyStackPointer > 1) {

webView.goBack();

historyStackPointer--;

rtn = true;

}else{

if(historyStackPointer == 1) {

// Reload the html data

webView.loadDataWithBaseURL("file:///android_asset/", html_data, "text/html", "UTF-8", null);

historyStackPointer = 0;

rtn = true;

}else{

webView.loadUrl("about:blank");

rtn = false;

}

}

} else {

rtn = false;

}

return rtn;

}

html_data是一个带页面html的字符串。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部