gpt4 book ai didi

android - 在 webview.goBack() 上调用 "shouldOverrideUrlLoading"方法

转载 作者:太空宇宙 更新时间:2023-11-03 10:54:35 25 4
gpt4 key购买 nike

我在 webview 上的 shouldOverrideUrlLoading 方法中加载我的所有页面(主要是为了跟踪当前页面 url 并进行一些修改)。

我的问题是后退按钮(例如:webview.goback() 方法)绕过了上述功能。

有什么方法可以显式调用 goback()shouldOverrideUrlLoading() 方法。

public boolean shouldOverrideUrlLoading(WebView view, String url){
//get current url and do some modifications to html}

public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && web1.canGoBack()) {
webview.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}

最佳答案

查看您的代码似乎一旦根据特定 URL 操作的某些逻辑调用了 shouldOverrideUrlLoading 方法,您就需要 Webview 返回方法。我建议您在 Activity 中使用以下方法:

@Override
public void onBackPressed() {
if ((keyCode == KeyEvent.KEYCODE_BACK) && web1.canGoBack()) {
webview.goBack();
} else {
super.onBackPressed();
}
}

这与 onKeypressed 完全相同。 (使用 onBackPressed 而不是 onKeypressed 但将这段代码写在 Activity 类中,而不是在自定义 WebViewClient 中。

shouldOverrideUrlLoading 中调用 onBackPressed()。试试这个,应该可以。

关于android - 在 webview.goBack() 上调用 "shouldOverrideUrlLoading"方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7740112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com