java - WebView - 如果存在后退历史记录,则仅显示后退按钮

标签 java android webview

我开发了一个简单的 webview 应用程序。我添加了一个按钮,该按钮应充当后退按钮,以便用户可以向后导航一页。

该按钮最初是隐藏的,仅当存在返回历史记录时才显示。 我怎样才能实现这一点?

代码很简单:

backButton = findViewById(R.id.backButton);
backButton.setEnabled(blizzView.canGoBack());

但是我必须在哪里调用它呢?如何调用“某个站点已加载”事件?

更新:

我尝试应用@Murats 答案,但没有任何反应:

private WebView blizzView;  // my webview
private Button backButton;

public void onPageFinished(WebView view, String url)
{
    backButton = findViewById(R.id.backButton);
    backButton.setEnabled(blizzView.canGoBack());

    if (blizzView.canGoBack()) {
        backButton.setVisibility(View.VISIBLE);
    } else {
        backButton.setVisibility(View.INVISIBLE);
    }

}

最佳答案

您可以使用WebView#canGoBack找出是否有后栈。您可以在页面加载后进行检查,例如在 WebViewClient#onPageFinished

关于java - WebView - 如果存在后退历史记录,则仅显示后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57110921/

相关文章:

Android SQLite 导致崩溃

java - 使用 JavaMail API 发送邮件而不使用 SSL

android - 无法从包外部访问电话验证卡

java - 在 Android 的 WebView 中获取点击的 url

java - 动态获取 ListView 项

java - 什么是 java.lang.reflect.Field#slot?

java - Java中HashMap的排序

java - 我可以在 Eclipse 中为 SonarLint 配置使用的规则集吗

当手指在屏幕上而不抬起时,javascript 动画在 ios safari webkit 浏览器中停止

android - 如何将 webView 缓存移动到 SD?